
c语言中for(i=1;i;i++)为什么不是死循环? 5
为什么不是死循环?#include<stdio.h>main(){inti;for(i=1;i;i++)printf("%d",i);}...
为什么不是死循环?
#include <stdio.h>
main()
{
int i;
for(i=1;i;i++)
printf("%d ",i);
} 展开
#include <stdio.h>
main()
{
int i;
for(i=1;i;i++)
printf("%d ",i);
} 展开
5个回答
展开全部
int 类型,也有个最大值的,根据系统不同,这个值的大小也不一样,但终归是有最大值的,最大值再加1,就溢出了,也就变成了0。所以程序是能正常结束的。
这个程序如果运行的话,你可能等很久都不会结束,因为有输出语句。你把语句关掉,程序应该会在1分钟内结束(根据系统的不同)。此时i的值为0
#include <stdio.h>
main()
{
int i;
for(i=1;i;i++); // for语句最后加一个分号,结束当前语句。
printf("%d ",i); // 循环结束,再输出i的值。
}
我在linux里实测用了大概9秒。
展开全部
i最终必然会溢出,重新返回到0,结束循环
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int是有范围的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询