返回一个很长的长值
#include <stdio.h>
int main(void)
{
long long x = test();
printf("%lldn", x);
return 1;
}
long long test()
{
return 1111111111111111111;
}
输出为734294471。如果我用一个数字替换对test()
的调用,输出就像我期望的那样。我使用调试器检查了x的值,但没有设置函数返回的值。出了什么问题?
我正在使用Visual Studio 2010与Visual C ++编译器。
没有找到相关结果
已邀请:
4 个回复
膝垫富顷
,否则C假定它返回
。
森含械
你的编译器将你的常量视为一个32位长(如果你取常数模2 ^ 32,你得到734294471.)
谦响局豢报
玖料萄