以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 编程心得 』   (http://bbs.xml.org.cn/list.asp?boardid=42)
----  荤菜求助:for语句镶套  (http://bbs.xml.org.cn/dispbbs.asp?boardid=42&rootid=&id=44551)


--  作者:荤菜
--  发布时间:3/28/2007 6:24:00 PM

--  荤菜求助:for语句镶套
目的是打印100个1
程序1
main()
{int num[10][10],i,j;
for(i=0;i<=9;i++)
for(j=0;j<=9;j++)
{num[i][j]=1;
printf(" %d",num[i][j]);}
getch();
}
在win-tc环境下结果正确

程序2
main()
{int num[10][10],i,j;
for(i=0;i<=9;i++)
{for(j=0;j<=9;j++)            /*与程序1不同的地方*/
num[i][j]=1;
printf(" %d",num[i][j]);}
getch();
}
在win-tc环境下得出10个不正确的答案
我想问的是同样是循环,为什么程序1可以,而程序2却不可以?


--  作者:一分之千
--  发布时间:4/11/2007 2:35:00 PM

--  
程序2 printf没有包含在第二个for循环里边
--  作者:weson
--  发布时间:5/9/2007 10:16:00 PM

--  
请严谨地用{
}
--  作者:netjian
--  发布时间:2/17/2008 2:41:00 PM

--  
以下是引用一分之千在2007-4-11 14:35:00的发言:
程序2 printf没有包含在第二个for循环里边


正解。
--  作者:yangzhj05
--  发布时间:4/25/2008 2:04:00 PM

--  
强烈建议采用规范的代码编写方式
--  作者:冬天的农夫
--  发布时间:5/4/2008 10:27:00 PM

--  
这个不同是大大的不同。。。
--  作者:netjian
--  发布时间:6/20/2008 8:31:00 AM

--  
for如果不加花括号的话,只对自己的下一条语句起循环作用。
--  作者:kooo
--  发布时间:11/30/2008 2:19:00 PM

--  一定不对!
2中的第二个for循环与输出语句是顺序关系。
for(i=0;i<=9;i++)
{for(j=0;j<=9;j++)            /*与程序1不同的地方*/
{num[i][j]=1;
   printf(" %d",num[i][j]);
  }
}
这样就可以了
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
93.750ms