有以下程序 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)

admin2018-10-16  26

问题 有以下程序
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);
}
程序执行后的输出结果是

选项 A、x=4
B、x=6
C、x=12       
D、x=8

答案B

解析 在第1次外层for 循环中,首先x++得到x=1。进入到内层for 循环,只有循环变量j的值为奇数时,变量x的值才自加1,所以在内层for 循环执行过程中,变量x的值自加两次,当退出内层for 循环时,x=3,然后执行x++,得到x=4。在进入执行第2次外层for 循环中,首先x++得到x=5。进入到内层for 循环,只有循环变量j的值为奇数时,变量x的值才自加1,所以在内层for 循环执行过程中,变量x的值自加1两次,当退出内层for 循环时,x=7,然后执行x++,得到x=8,所以打印输出变量x的值为8。
转载请注明原文地址:https://jikaoti.com/ti/32a0FFFM
0

最新回复(0)