weixin_45994861 2020-06-06 15:38 采纳率: 50%
浏览 298
已采纳

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

今天了做个题目:

编写一个函数,不用临时变量,直接交换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 还是其它的原因? 希望有懂的大神解释一下。

  • 写回答

2条回答 默认 最新

  • Liukua 2020-06-06 19:15
    关注

    函数的返回值规定的类型为int啊

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?