一个数组在函数的内部进行强制类型转换,在返回后是什么类型呢;

问题描述:

今天了做个题目:

编写一个函数,不用临时变量,直接交换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吗