我想我遇到了一个整数溢出问题,我不确定如何修复它.我刚从Python和JS开始学习C语言,这对我来说都是新的.
我在下面举了一个非常简单的例子来说明正在发生的事情.我将一个参数从main
函数传递给另一个函数,以便乘以3,但是当它被传递时,数字溢出.这个数学运算在main
函数中起作用.
#include <stdio.h>
long long calc(number) {
return number * 3;
}
int main(void)
{
long long digits = 1111111111111;
long long result = calc(digits);
printf("calc result: %lld\n", result);
long long mainTimes3 = digits * 3;
printf("main result: %lld\n", mainTimes3);
return 0;
}
我收到错误消息
Main.c:3:11:警告:‘Number’的类型默认为‘int’[-WIMPLICIT-INT]`
printf
号正在展示
calc result: 438711637
main result: 3333333333333