我已經在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? –