小编eil*_*ano的帖子

为什么有时我会溢出,有时不会在 C 中

我有这个代码,这两个计算给了我不同的结果。
第一个溢出,第二个只保留 2^31-1。

我不明白为什么。

int n4, n5;

n4 = pow(2, 31);
n4 = n4 + n4;
n5 = pow(2, 31) + pow(2, 31);

printf("\nn4: %d, n5: %d",n4,n5);
/* n4: -2, n5: 2147483647 */
Run Code Online (Sandbox Code Playgroud)

c integer-overflow

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

标签 统计

c ×1

integer-overflow ×1