有以下程序: 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("

admin2012-12-03  43

问题 有以下程序:
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时,j<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时,1<2成立,执行第一个循环,x=5,此时接着执行循环外部的语句,即第二个循环;j=0时j<3成立,此时if不成立,x++后,x为6.接着j为1时,j<=3成立,继续循环,此时if成立,不再执行x++了;接着i=2时,j<=3成立,此时if不成立,执行其后的x++,x为7;j=3时,j<=3成立,此时if成立,不再执行其后的语句了;当j=4时,退出第二个循环,执行循环外部的语句,最终x为8,故选B选项。
转载请注明原文地址:https://kaotiyun.com/show/muPp777K
0

最新回复(0)