有以下程序 main( ){ inta=1,b=2,c=3,d:0; if(a::1&&b++=2) if(b!=21‖c-!=3) printf(’’%d,%d,%d,%\n’’,a,b,c); elseprintff’’%d,%d,%d,%\n’

admin2019-12-17  26

问题 有以下程序
main(    ){
inta=1,b=2,c=3,d:0;
if(a::1&&b++=2)
if(b!=21‖c-!=3)
printf(’’%d,%d,%d,%\n’’,a,b,c);
elseprintff’’%d,%d,%d,%\n’’,a,b,c);
elseprintf(’’%d,%d,%d\n’’,a,b,c);}
程序运行后的输出结果是

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

答案C

解析 a,b,c,d初始值分别为l,2,3,0。嵌套的if语句中,第一个if中,表达式a=1&&b++=2值为1,执行嵌套的if分支,此时b=3,bI_2成立,由于运算符是11,不管后面一个表达式的值是不是1,其整个表达式的值总是1,c-!=3表达式不执行,最后打印出a.b,c的值是1,3,3。
转载请注明原文地址:https://kaotiyun.com/show/FICp777K
0

随机试题
最新回复(0)