一个数组在函数的内部进行强制类型转换,在返回后是什么类型呢;
问题描述:
今天了做个题目:
编写一个函数,不用临时变量,直接交换numbers = [a, b]中a与b的值。
示例:
输入: numbers = [1,2]
输出: [2,1]
int* swapNumbers(int* numbers, int numbersSize, int* returnSize){
*returnSize=2;
numbers=(long long)numbers;
numbers[0]=numbers[0]+numbers[1];
numbers[1]=numbers[0]-numbers[1];
numbers[0]=numbers[0]-numbers[1];
return numbers;
}
因为在使用int 型做时会发生溢出,我就将int 转换成long long 但是结果任然为溢出。 是因为函数的返回值规定的类型为int,有将long long 转化为 int 还是其它的原因? 希望有懂的大神解释一下。
答
函数的返回值规定的类型为int啊
答
int * 能转换成long long吗