有没有人在下一行看到任何语法错误?
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: ')'
答案 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
的第三个表达式不是表达式而是语句,这是一种不被接受的语法。