C语言系列提问2 分析一下这道题,

来源:百度知道 编辑:UC知道 时间:2024/05/16 14:40:36
main()
{
int i,j,m=0,n=0;
for (i=0;i<2;i++)
for (j=0;j<2;j++)
if(j>=i)m=1;n++;
printf("%d\n",n);
}

晕,这有什么好分析的,出题的给了你一陷阱,我再抄一遍不说你也明白了:
main()
{
int i,j,m=0,n=0;
for (i=0;i<2;i++)
for (j=0;j<2;j++)
if(j>=i)m=1;

n++;
printf("%d\n",n);
}

{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}
n++; 写在那一行上把你的眼睛骗了!
第一个FOR循环的循环体是:
for (j=0;j<2;j++)
if(j>=i)m=1;
内层FOR循环的循环体是:if(j>=i)m=1;
IF语句的语句组是:m=1;
如果语句组想不止一句,就得加{}{}{}{}{}

for (i=0;i<2;i++)
for (j=0;j<2;j++)
if(j>=i)m=1;n++;
就等于
for (i=0;i<2;i++)
{
for (j=0;j<2;j++)
if(j>=i) m=1;
}
n++; //循环结束了才执行n++;就是n=1了
呵呵,没什么意思的

main()
{
int i,j,m=0,n=0;
for (i=0;i<2;i++)
for (j=0;j<2;j++)
if(j>=i)
m=1;
n++;
printf("%d\n",n);
}