小编Ada*_*dam的帖子

为什么这种数据类型表现得很奇怪?

为什么第一个printf()只返回值-536870912,第二个返回a的最大值unsigned int与乘以65535*65535的结果之间的差值.(运行64位机器).

int x = 7 * 536870912;

printf("%d\n", x);// 536,870,912
//answer: 3,758,096,384 - 3 Billion
//returns : - 536870912

printf("%d\n", 65535 * 65535 );// 65,535
// answer : 4,294,836,225 4 Billion
// returns: -131071
Run Code Online (Sandbox Code Playgroud)

c int printf

-2
推荐指数
1
解决办法
116
查看次数

标签 统计

c ×1

int ×1

printf ×1