有以下程序: #include main() { int a=一2,b=0; while(a++&&++b); prinff(“%d,%d\n”,a,b); } 程序运行后的输出结果是( )。

admin2019-07-14  25

问题 有以下程序:
  #include
  main()
  {
    int a=一2,b=0;
    while(a++&&++b);
    prinff(“%d,%d\n”,a,b);
  }
程序运行后的输出结果是(    )。

选项 A、1.3
B、0,2
C、0,3
D、1,2

答案D

解析 考查while循环以及自加运算,其中a++是a先参与运算再自加1,而++b是b先自加1再参与运算。第一次进入循环:a的值是一2,b的值是0,判断条件为一2&&1,2个值都是非零,while判断条件成立,接着进入第二次循环。这时a的值是一1,b的值是1,判断条件即为一1&&2,表达式的值为真,进入第三次循环。这时a的值是0,b的值是2,判断条件为0&&3,与运算左边的值为0,即判断为假。此时跳出循环,执行prinff语句,这时a的值是1,b的值是2。
转载请注明原文地址:https://kaotiyun.com/show/H5Rp777K
0

最新回复(0)