|
| » 首页 » 电脑_数码 » 编程 » 为什么程序输出的为负数? |
为什么程序输出的为负数? |
|
{int i1=32767,i2; float f1=3.1415926,f2; char c1=127,c2; unsigned int u1=65535,u2; long l1=2147483647 ,l2; i2=i1+1; f2=f1+1; c2=c1+1; u2=u1+1; l2=l1+1; printf("c2=%d,i2=%d,u2=%u,f2=%f,l2=%ld\n",c2,i2,u2,f2,l2); getch(); } 这个程序的输出结果为 c2=-128,i2=-32768,u2=0,f2=4.141593,l2=-214748364 为什么输出的结果会有负号呢? |
![]() |
|
|
32位浮点的范围是2^31-1就是2147483647,如果+1就超过了限制,造成溢错误,最好改用64位浮点
|
| 《为什么程序输出的为负数?》答案收集时间:2008-06-14 14:30:12 |