C++中for()for(){}和for(){for()}的区别

int main() {
int i, j;
for (i = 0;i < 3;i++) 
for (j = 0;j < 3;j++){
cout << "i=" << i << "j=" << j << endl;
}
system("pause");
return 0;
}和
int main() {
int i, j;
for (i = 0;i < 3;i++) {
for (j = 0;j < 3;j++)
cout << "i=" << i << "j=" << j << endl;
}
system("pause");
return 0;
}请问这两个有区别吗?我得出的结果是一样的。

扬帆大鱼
浏览 578回答 1
1回答

aluckdog

效果是一样的,for语句如果后面只带一个表达式,可以省略{}。比如:1234567for(int&nbsp;i=0;&nbsp;i<5;&nbsp;i++)&nbsp;&nbsp;&nbsp;&nbsp;printf("i=%d\n",&nbsp;i);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//等同于for(int&nbsp;i=0;&nbsp;i<5;&nbsp;i++)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;printf("i=%d\n",&nbsp;i);}若for语句后带多个表达式,但是没有{}包围,则for后面的第一个表达式属于for语句,其他语句则不属于for语句。例如:123456789for(int&nbsp;i=0;&nbsp;i<5;&nbsp;i++)&nbsp;&nbsp;&nbsp;&nbsp;printf("i=%d",&nbsp;i);&nbsp;&nbsp;&nbsp;&nbsp;print("不属于for循环\n")&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//等同于for(int&nbsp;i=0;&nbsp;i<5;&nbsp;i++)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;printf("i=%d",&nbsp;i);}printf("不属于for循环\n")同样的:1234567for()&nbsp;&nbsp;&nbsp;&nbsp;for(){}&nbsp;//等同于&nbsp;&nbsp;&nbsp;&nbsp;for()&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;for()}&nbsp;
打开App,查看更多内容
随时随地看视频慕课网APP