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

admin2019-04-14  39

问题 有以下程序:
#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,与运算左边的值为0,即判断为假。此时跳出循环,执行printf语句,这时a的值是1,b的值是2。
转载请注明原文地址:https://jikaoti.com/ti/U8f0FFFM
0

最新回复(0)