社区
C语言
帖子详情
for实现无限循环的的问题
malu_1982
2008-09-07 10:59:21
for( : : )
{
... ...
}
实现无限循环的时候大家都这么写,但是不知道是什么原理。
请知道这个原理的xdjm解释一下。
...全文
3166
24
打赏
收藏
for实现无限循环的的问题
for( : : ) { ... ... } 实现无限循环的时候大家都这么写,但是不知道是什么原理。 请知道这个原理的xdjm解释一下。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
24 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
大牛~Daniel
2008-09-08
打赏
举报
回复
for(语句1;语句2;语句3)
{
.......
循环体
.......
}
语句1是控制变量初始化;
因为语句2是判断循环的条件,
当条件为“真”或表达式的值为“1”时,执行循环体,然后执行语句3,(在为空的时候表示没有判断,即为"真",循环体将不停的执行);
语句3是控制循环变量,通过改变循环变量的值,再加上语句2的判断,可以控制循环次数。
当语句为for(;;),它将因为没有控制条而无限循环下去。
建议LZ要好好看书了咯!
kelvin_2013
2008-09-08
打赏
举报
回复
up
csgdseed
2008-09-08
打赏
举报
回复
用while(1)好像多点
mifeixq
2008-09-08
打赏
举报
回复
for (1;2;3)
就相当于
1
while(2)
{
...
3
}
至于while(1) 和for(;;)
看个人习惯而用吧
小小小黑猫
2008-09-08
打赏
举报
回复
真没注意
cooler36659266
2008-09-08
打赏
举报
回复
学习了,原来没条件的for也可以做死循环,用while(1)还要判断,但貌似还是用while(1)的人多,不知道为什么
Jacky_yu
2008-09-08
打赏
举报
回复
学习了,呵呵
wensheng_zh2007
2008-09-08
打赏
举报
回复
都要“钻”地里了
frank_323
2008-09-08
打赏
举报
回复
[Quote=引用 5 楼 CSYNYK 的回复:]
这么理解吧!
for( ; ; )------无条件循环,不用判断条件
while( 1 )------有条件循环,有条件就要判断条件是否成立,所以多几条指令;对于条件是立即数(常数)的,有些编译器也会优化掉那几条指令!
[/Quote]
stormxs
2008-09-08
打赏
举报
回复
应该是看个人习惯吧
帅得不敢出门
2008-09-08
打赏
举报
回复
If cond-expression is omitted, it is considered true and the for loop will not terminate without a break, return, or goto within statement.
A convenient way to specify an infinite loop using the for statement is:
Copy Code
for( ; ; )
{
// Statements to be executed.
}
imdemon
2008-09-08
打赏
举报
回复
看下VC6编译后的结果,不优化
for( ; ; )
{
}
00401087 |.- EB FE jmp short WIN32C~1.00401087
原地无条件跳转
while(1)
{
}
0040108C |. 0000 add byte ptr ds:[eax],al
0040108E |? 85D2 test edx,edx
00401090 |? 74 02 je short WIN32C~1.00401094
00401092 |?^ EB F5 jmp short WIN32C~1.00401089
00401094
有判断,只不过条件永真
http://www.shubulo.com
richbirdandy
2008-09-08
打赏
举报
回复
[Quote=引用 9 楼 malu_1982 的回复:]
哦 公司入职之后考试的时候考了这个
for( ; ; )中间的那个表达式没有,应该是假吧, 觉得更像while(){... ...}, 但是while()是错的
[/Quote]
神啊 公司还有入职考试 还以为只有入学考试。。。
puzzlesky
2008-09-08
打赏
举报
回复
[Quote=引用 13 楼 blackcat242 的回复:]
真没注意
[/Quote]
heroforyou
2008-09-08
打赏
举报
回复
[Quote=引用 17 楼 PenglueR 的回复:]
for(语句1;语句2;语句3)
{
.......
循环体
.......
}
语句1是控制变量初始化;
因为语句2是判断循环的条件,
当条件为“真”或表达式的值为“1”时,执行循环体,然后执行语句3,(在为空的时候表示没有判断,即为"真",循环体将不停的执行);
语句3是控制循环变量,通过改变循环变量的值,再加上语句2的判断,可以控制循环次数。
当语句为for(;;),它将因为没有控制条而无限循环下去。
建议…
[/Quote]
回答得很明确
malu_1982
2008-09-07
打赏
举报
回复
哦 公司入职之后考试的时候考了这个
for( ; ; )中间的那个表达式没有,应该是假吧, 觉得更像while(){... ...}, 但是while()是错的
pengzhixi
2008-09-07
打赏
举报
回复
没有判断条件那么就为永真咯
lzp765
2008-09-07
打赏
举报
回复
[Quote=引用 5 楼 CSYNYK 的回复:]
这么理解吧!
for( ; ; )------无条件循环,不用判断条件
while( 1 )------有条件循环,有条件就要判断条件是否成立,所以多几条指令;对于条件是立即数(常数)的,有些编译器也会优化掉那几条指令!
[/Quote]
编译器会优化,所以觉得是个人习惯吧.
zhkefa
2008-09-07
打赏
举报
回复
还真没留意过,,
_石头_
2008-09-07
打赏
举报
回复
这么理解吧!
for( ; ; )------无条件循环,不用判断条件
while( 1 )------有条件循环,有条件就要判断条件是否成立,所以多几条指令;对于条件是立即数(常数)的,有些编译器也会优化掉那几条指令!
加载更多回复(4)
c语言
无限循环
的作用,for
无限循环
中变量怎么重新赋值
本文探讨了C语言中使用for循环
实现
无限循环
的场景,并详细分析了如何在循环内部根据不同条件调用各种数学运算函数。此外,还讨论了当用户输入错误时如何正确处理
无限循环
的
问题
。
使用for循环
实现
1到100的和
本文探讨了使用C语言进行1到100求和的不同循环方法,包括for循环的三种变体和一种
无限循环
的
实现
方式。通过对比,文章展示了如何灵活运用循环结构来解决
问题
。
while循环和for循环
本文详细介绍了Python中的while和for循环的基本概念、结构、
无限循环
的
实现
方式以及break和continue的关键字用法,通过实例展示了如何使用这些循环结构解决
问题
。
Java 里的 for (;;) 与 while (true),哪个更快?
博客探讨Java里for (;;)与while (true)哪个更快的
问题
。指出在JDK8u
实现
中,javac编译器对二者生成相同字节码,后续执行结果也相同。还介绍了for (;;)在Java中的来源,受C语言写法影响,其表达
无限循环
更直观。
11.07学习
博客介绍了用C语言解决经典数学
问题
的方法,包括三种代码解决鸡兔同笼
问题
、用穷举法解决韩信点兵
问题
。还阐述了C语言中
实现
无限循环
的多种方式,如while、for循环等,同时提及
无限循环
的退出机制及注意事项。
C语言
70,038
社区成员
243,247
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章