问题 单项选择题

有以下程序:
main()
int i,j,x=0;
for(i=0;i<2;i++)
x++;
for(j=0;j<=3;j++)
if(j=0;j<=3;j++)
x++;

x++;

printf("x=%d\n",x);

程序执行后的输出结果是( )。

A.x=4

B.x=8

C.x=6

D.x=12

答案

参考答案:B

解析: 当i=0时,i<2成立,执行第一个for循环x自加为1,接着执行第二个for循环,j=0时j<=3成立,此时if不成立.执行x++后,x为2,接着j=1时,j<=3成立,继续循环,此时if成立,continue是跳出本次循环.继续下一次循环,不再执行x++了,接着j=2时,j<=3成立,此时if不成立,执行其后的语句,当j=4时,退出第二个循环,接着执行其后的x++,x为4,当i=1时,i<2成立,执行第一个循环,x=5,此时接着执行其后的语句,即第二个循环,j=0时j<3成立,此时if不成立,x++后,x为6,接着j为1时,j<=3成立,继续循环,此时if成立.不再执行x++了,接着j=2时,j<=3成立,此时if不成立,执行其后的x++,x为7,j=3时,j<=3成立,此时if成立,不再执行其后的语句了,当j=4时,退出第二个循环,执行循环外部的语句,所以x为8,故选B选项。

单项选择题
单项选择题