有以下程序: #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); } 程序的运行结果

admin2019-05-17  26

问题 有以下程序:
#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++,k=b=5,故最后输出的是5,5,5。
转载请注明原文地址:https://jikaoti.com/ti/Pif0FFFM
0

最新回复(0)