查看: 977|回复: 5
|
C Programming For Loop 问题
[复制链接]
|
|
请问
--> for(;; )
是代表什么??
为什么里面不用写value 和 condition 的??
那时不是代表 其实 for(;; ) 的意思是一直无止境的looping ?? 而condition 是由loop 里面来做??
所以只是纯粹的looping 吗??
[ 本帖最后由 zuying1985 于 16-4-2006 01:22 AM 编辑 ] |
|
|
|
|
|
|
|
发表于 16-4-2006 01:57 AM
|
显示全部楼层
exp:
1 2 4
for ( x=1 ;X>10; x++){
3
condition
}
红字代表他的次序
当第二步拿到false是就会跳出for loop |
|
|
|
|
|
|
|
楼主 |
发表于 16-4-2006 03:31 AM
|
显示全部楼层
原帖由 winnerT_T 于 16-4-2006 01:57 AM 发表
exp:
1 2 4
for ( x=1 ;X>10; x++){
3
condition
}
红字代表他的次序
当第二步拿到false是 ...
这些我知道。。 我想问的是 --> for(;; ) 代表了什么?
for exp:
for (;; )
{
if ( a == - 1)
return 0;
else
..............
}
那个for loop 的责任是不是就只是纯粹的loop .. 并没有Initialized value , condition 和 increment value 的。。 就只负责looping 而已。。 对吗? |
|
|
|
|
|
|
|
发表于 16-4-2006 03:43 AM
|
显示全部楼层
原帖由 zuying1985 于 16-4-2006 03:31 AM 发表
这些我知道。。 我想问的是 --> for(;; ) 代表了什么?
for exp:
for (;; )
{
if ( a == - 1)
return 0;
else
..............
}
那个for loop 的责任是不是就只是 ...
对。只是一个infinite loop罢了。
这个loop你要来做什么? |
|
|
|
|
|
|
|
楼主 |
发表于 16-4-2006 03:58 AM
|
显示全部楼层
原帖由 BillGates 于 16-4-2006 03:43 AM 发表
对。只是一个infinite loop罢了。
这个loop你要来做什么?
其实只是拿来做一个类似do while 的东西。。。。我也是看会两年多前老师给我的一个random number guess game 的 code .. 看到这个 for(;; ) lo.. 因为我有朋友需要用到。。 我就看会去看下还记得没有。。 在解释给我朋友听咯。。 |
|
|
|
|
|
|
|
发表于 16-4-2006 03:06 PM
|
显示全部楼层
原帖由 zuying1985 于 16-4-2006 03:58 AM 发表
其实只是拿来做一个类似do while 的东西。。。。我也是看会两年多前老师给我的一个random number guess game 的 code .. 看到这个 for(;; ) lo.. 因为我有朋友需要用到。。 我就看会去看下还记得没有。。 在解 ...
for(;; )
{
}
while(1)
{
}
do
{
}while(1);
以上都是无止境的循环(infinite loop),只有 break 能够离开。通常用于有多种condition 的情况之下,而不是一个简单的 for statament 可define 的,比如,
int cnt1,cnt2,cnt3;
for(cnt1=0,cnt2=0,cnt3=0; (cnt1<10 && cnt2<20 && cnt3<30);cnt1++,cnt2++,cnt3++)
{
//do something...
}
像以上的例子要定义它的condition就很难了。通常我都会,
for(;; )
{
if (cnt1<10)
{
//do something..
}
else break;
if (cnt2<20)
{
//do something..
}
else break;
if (cnt3<30)
{
//do something..
}
else break;
//do increment..
..
..
cnt1++;
..
..
cnt2++;
..
..
cnt3++;
}
另外我也喜欢用for(;; ){} 在多线程(multithreading)里的 worker thread。这要看个的喜好与编程的设计了。
[ 本帖最后由 Sunyata 于 16-4-2006 03:08 PM 编辑 ] |
|
|
|
|
|
|
| |
本周最热论坛帖子
|