我已经在Turbo C/C++编辑器的32位Windows 7操作系统上执行此程序。即使值越过其范围,整型变量如何显示正确的值?
#include<stdio.h>
#include<conio.h>
void main()
{
int a,b,c,d,e;
clrscr();
a = 25000;
b = 10000;
c = a + b;
printf(" The value of c = %d\n", c);
d = 5000;
e = c - d;
printf(" The value of e is %d\n", e);
getch();
}
当我打印c时,得到值-30536,因为值35000超过最大值。但是当我在表达式'e = c - d;'中使用相同的c时,我得到正确的值为30000. 这怎么可能?
'-30536 - 5000 = 30000' –
您如何证明该解决方案? –
大卫..请详细说明您的答案...如何可以-30536 - 5000等于30000? –