读书人

问一个for的嵌套,该怎么处理

发布时间: 2012-05-02 15:36:04 作者: rapoo

问一个for的嵌套
for (i=0;1<3;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
给一个二维数组赋值
for (i=0;1<3;i++)
{
for(j=0;j<3;j++);
scanf("%d",&a[i][j]);
}
有什么不同吗 ?
第一种嵌套正确吗?


[解决办法]
楼主可以问自己如果不同不同在哪里?可以自己编译看下结果证实下自己的推断
[解决办法]
这里没有.
只有一条语句的时候,{}可以省略
[解决办法]
两段代码功能完全相同,没有问题。

循环语句和if语句后的{}都是可以省略的,只要里面只有一条语句就行。不过有时省略了会导致分支错误,所以初学者最好还是别省它。
[解决办法]
功能是完全一样的

自己做尝试其实是最好的老师,在自己做测试的情况下,得出结论更有意义:)
[解决办法]
完全一样,只有一条语句时有没有花括号都是一样的,LZ可以自己拿编译器做做实验嘛。。
[解决办法]
一样的,
{}只有在循环里执行的语句多于1条时才用
[解决办法]
不一样,第一个是给二维数组赋值,而第二个是给二维数组的最后一列赋值,因为在第二个for(j=0;j<3;j++);
多了“;”
[解决办法]
for (i=0;1<3;i++)
{
for(j=0;j<3;j++);
scanf("%d",&a[i][j]);
}
多打了个分号,for(j=0;j<3;j++);
出此之外没区别
[解决办法]
一样的实现效果,但是还是建议楼主加上大括号,养成这习惯
[解决办法]
一样的哦

[解决办法]
和我开始学的时候一个心态。。不懂就问。。。其实,不懂就自己实践才是真的

读书人网 >C++

热点推荐