有以下程序: #include main() { int i,j,k,a=5,b=6; i=(a==b)?++a:--b; j=a++;k=b;printf("%d,%d,%d\n",i,j,k); }

admin2020-10-26  39

问题 有以下程序:
    #include
    main()
    {  int i,j,k,a=5,b=6;
    i=(a==b)?++a:--b;
    j=a++;k=b;printf("%d,%d,%d\n",i,j,k);
    }
    程序的运行结果是(    )。

选项 A、7,6,5
B、5,5,5
C、7,5,5
D、5,6,5

答案B

解析 条件表达式i=(a==b)?++a:--b;中先执行a==b,值为假,根据三元运算符语法规则,执行--b,此时b为5,赋给i,i=5;j=a++,将a=5先赋给j,再进行a++,j=5,a=6,k=b=5,故最后输出的是5,5,5。
转载请注明原文地址:https://jikaoti.com/ti/4nD0FFFM
0

最新回复(0)