有以下程序: #include<stdio.h> main() { int a=-2,b=0; while(a++&&++b); printf("%d,%d\n",a,b); } 程序运行后的输出结果是( )。

admin2021-06-15  28

问题 有以下程序:
#include<stdio.h>
main()
{
int a=-2,b=0;
while(a++&&++b);
printf("%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,与运算左边的值为O,即判断为假。此时跳出循环,执行printf语句,这时a的值是1,b的值是2。
转载请注明原文地址:https://kaotiyun.com/show/Jytp777K
0

最新回复(0)