C语言程序题目分析

来源:百度知道 编辑:UC知道 时间:2024/09/21 14:30:53
main()
{int i,j,x=0;
for(i=0;i<2;i++)
{x++;
for(j=0;j<3;j++)
{if(j%2) continue;
x++;
}
x++;
}
printf ("x=%d\n",x);
}
为什么程序的记过是X=8,请详细解答它的过程,谢谢!

首先i=0
执行这个 x++; x==1
再来这个for(j=0;j<3;j++)
{if(j%2) continue; }
j=0 0%2==0执行x++; x==2
j=1 1%2==1 continue;
j=2 2%2==0 x++; x==3
再执行
}
x++;x==4
执行这个 x++; x==5
再来这个for(j=0;j<3;j++)
{if(j%2) continue; }
j=0 0%2==0执行x++; x==6
j=1 1%2==1 continue;
j=2 2%2==0 x++; x==7
再执行
}
x++;x==8

记得continue; 是直接进行下一次循环就可以了

对的.
关键在这步
j=0 0%2==0执行x++; x==6
j=1 1%2==1 continue;
j=2 2%2==0 x++; x==7
很多人都蒙了的.你分开来想,就很简单了

main()
{int i,j,x=0; //x=0
for(i=0;i<2;i++)
{x++; //x最少加二次可以认为x=2
for(j=0;j<3;j++)
{if(j%2) continue; 当j%2无余数就不执行x=4但是他的执行二次他在(i=0;i<2;i++)这个循环里面呢可以认为x=6
x++;
}
x++; 不管怎么样他的加二次因为他在(i=0;i<2;i++)循环里面所以x=8
}
printf ("x=%d\n",x);
}