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

admin2013-02-23  28

问题 有下列程序:
    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=8
C、x=6
D、x=12

答案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的值自加l两次,当退出内层for循环时,x=7,然后执行x++,得到x=8.所以打印输出变量x的值为8。
转载请注明原文地址:https://kaotiyun.com/show/4iPp777K
0

最新回复(0)