读书人

死循环解决方案

发布时间: 2013-04-20 19:43:01 作者: rapoo

死循环
#include<stdio.h>

int main()
{
unsigned char i;
for ( i = 0; i <= 255; i++)
{

}
}

这个为什么会死循环呢?
[解决办法]
unsigned char的范围就是0-255 永远不可能大于255的 所以是死循环
[解决办法]
换成别的类型吧 unsigned int
[解决办法]
unsigned char的范围就是0-255,当i=255时再加1就又是零了,就这么循环
[解决办法]
楼上正解。。
[解决办法]
这个高级,能加到-1吧,然后再0,256是-1,吗?
[解决办法]
一楼说的很对,unsigned char的范围就是0-255 ,当i增加到255时,再对i进行加1操作,因为超出范围,i就会重新被赋值为0,开始新的循环。
[解决办法]

引用:
unsigned char的范围就是0-255 永远不可能大于255的 所以是死循环
当255再加1时,就变成0了,所以会永远循环啊
[解决办法]

#include<stdio.h>

int main()
{
unsigned int i; //这样就不会死循环了 嘿嘿
for ( i = 0; i <= 255; i++)
{

}
}

读书人网 >C语言

热点推荐