死循环

didijiji 2011-11-14 08:40:18
#include<stdio.h>

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

}
}

这个为什么会死循环呢?
...全文
109 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
didijiji 2013-04-16
  • 打赏
  • 举报
回复
#include<stdio.h>

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

    }
}
自信男孩 2011-11-14
  • 打赏
  • 举报
回复
恩,如果i循环变量到了255它会回到0,然后重新开始循环。
BT六眼飞鱼 2011-11-14
  • 打赏
  • 举报
回复

#include<stdio.h>

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

}
}
树无影 2011-11-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 hnuqinhuan 的回复:]
unsigned char的范围就是0-255 永远不可能大于255的 所以是死循环
[/Quote]当255再加1时,就变成0了,所以会永远循环啊
夏夜繁星 2011-11-14
  • 打赏
  • 举报
回复
一楼说的很对,unsigned char的范围就是0-255 ,当i增加到255时,再对i进行加1操作,因为超出范围,i就会重新被赋值为0,开始新的循环。
AndyZhang 2011-11-14
  • 打赏
  • 举报
回复
这个高级,能加到-1吧,然后再0,256是-1,吗?
lost_goast 2011-11-14
  • 打赏
  • 举报
回复
楼上正解。。
诶呦 2011-11-14
  • 打赏
  • 举报
回复
unsigned char的范围就是0-255,当i=255时再加1就又是零了,就这么循环
無_1024 2011-11-14
  • 打赏
  • 举报
回复
换成别的类型吧 unsigned int
無_1024 2011-11-14
  • 打赏
  • 举报
回复
unsigned char的范围就是0-255 永远不可能大于255的 所以是死循环

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧