首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

2012-05-02 
问一个for的嵌套for (i013i++)for(j0j3j++)scanf(%d,&a[i][j])给一个二维数组赋值for (i013

问一个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++);
出此之外没区别
[解决办法]
一样的实现效果,但是还是建议楼主加上大括号,养成这习惯
[解决办法]
一样的哦

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

热点排行