2012-07-22 480 views
-1

Ruby的for/in循环可以有很多说法:for循环在c中只能有一个语句吗?

for a in 1..2 do 
    expression 1 
    expression 2 
    .. 
end 

但似乎在C循环只能有一个:

for (a = 0; a < 10; a ++) expression 1; 

有没有什么办法,使乘声明在for循环在C?

+1

您应该快点拿到C书。你不能只问你遇到的每一个C构造的问题。 – 2012-07-22 11:50:25

回答

6

是的,从形式上来讲在C中的所有循环语句只需要一个语句作为循环体。这同样适用于分支语句(如if)真实,几乎在C.

但是其他所有的语句,即一个语句可以是一个复合之一。复合语句以{开头,以}结尾并包含任意数量的嵌套语句。 (请注意,复合语句末尾没有;。)

+0

好好的工作。 – chris 2012-07-22 04:36:25

2

使用大括号的循环体:

for (a = 0; a < 10; a++) 
{ 
    doSomething(); 
    doSomethingElse(); 
} 

这个概念延伸到其他的东西,比如if,也是如此。这应该与iffor自己在任何书籍等一起提及。

+1

这个,但请不要使用egyption括号。 :-) – Dylan 2012-07-22 04:32:38

+6

@Dylan完全是一个偏好问题。 – 2012-07-22 04:33:36

+0

那么,我很清楚C++中的这场辩论。我从来没有用C来看它,所以我会坚持这些,直到我做到。 – chris 2012-07-22 04:34:47

2

您需要学习C语法。你把它们放在一个块

for (...) { 
    expression 1; 
    expression 2; 
} 
+0

好的,现在我明白了,如果它只有一个陈述,大括号可以省略 – mko 2012-07-22 04:47:54