使用double for循环

时间:2011-06-29 09:23:02

标签: c++ for-loop

有没有人在下一行看到任何语法错误?

int a6[3][2]={{0,0},{0,0},{0,0}};
for (int c=0 ; c<3 ; for(int c2=0 ; c2<2 ; cout<<a6[c++][c2++])) ;

它提供以下语法错误:

error C2143: syntax error: missing ')' before 'for'
error C2059: syntax error: ')'

2 个答案:

答案 0 :(得分:2)

for命令不是可用于另一个for的后增量部分的表达式。把它放在循环的控制语句之外。

如果你遵守关于如何编写循环的通用约定,即控制for语句中的循环的代码以及之后要完成的工作,代码会变得更具可读性:

for (int c = 0; c < 3; c++) {
  for(int c2 = 0; c2 < 2; c2++) {
    cout << a6[c][c2];
  }
}

这也解决了您在代码中遇到的错误,即您为显示的每个值递增c,而您应该只为您显示的每个值递增它。

答案 1 :(得分:1)

c中for语句的语法是

for ( <expression> ; <expression> ; <expression> )
    <statement>

在你的用法中,第一个for的第三个表达式不是表达式而是语句,这是一种不被接受的语法。