» 首页 » 电脑_数码 » 编程 » 为什么程序输出的为负数?

为什么程序输出的为负数?

main()
{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位浮点

 相关问题
·为什么程序输出的为负数?
·为什么安装完2003系统补丁ASP就访问不了ACCESS数据库
·vb6.0中calendar控件的使用方法
·php连接mysql成功,但连接不到数据库
·我刚装的VC++,一运行出来的黑色输出框就被最小化了,点...
·没有基础想学PHP用先学C吗
·可以用access数据库制作哪方面的内容??
·编程求一个3位数,使这个数和它的逆序数之差的绝对值小于100
·我想编写盗号木马的程序或者软件。不知道怎么说。那我学...
·数据存储器和数据寄存器有啥差别
·delphi 让鼠标点屏幕上的一点
·仓库管理系统 数据库课程设计
·at six and seven 什么意思
·求jabber服务器openfire3.3.3的开发文档
·我原本想学delphi 的,但是有人叫我学.net 你们觉得我该...

 《为什么程序输出的为负数?》答案收集时间:2008-06-14 14:30:12



©2007 电脑技术问答录