有以下程序 main(){ int a=1,b=2,c=3,d=0; if(a==1&&b++==2) if(1)!=2‖c==!=3) printf("%d,%d,%d\n",a,b,c); else pr

admin2015-08-14  34

问题 有以下程序
    main(){
    int a=1,b=2,c=3,d=0;
    if(a==1&&b++==2)
    if(1)!=2‖c==!=3)
    printf("%d,%d,%d\n",a,b,c);
    else printf("%d,%d,%d\11",a,b,c);
    else printf("%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初始值分别为1,2,3,0。嵌套的if语句中,第一个if中,表达式a=1&&b++=2值为1,执行嵌套的if分支,此时b=3.b!=2成立,由于运算符是‖,不管后面一个表达式的值是不是1,其整个表达式的值总是1,c--!=3表达式不执行,最后打印出a,b,c的值是1,3,3。
转载请注明原文地址:https://jikaoti.com/ti/5yi0FFFM
0

最新回复(0)