以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 C/C++编程思想 』  (http://bbs.xml.org.cn/list.asp?boardid=61)
----  荤菜求助:for语句镶套  (http://bbs.xml.org.cn/dispbbs.asp?boardid=61&rootid=&id=44552)


--  作者:荤菜
--  发布时间:3/28/2007 6:36: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却不可以?


--  作者:admin
--  发布时间:3/28/2007 6:56:00 PM

--  

程序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();
}


等价于


程序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();
}

而正确的应该是:

程序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();
}



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

--  
谢谢了
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
31.250ms