有以下程序: #include<stdio.h> 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-06-16  31

问题 有以下程序:
#include<stdio.h>
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://kaotiyun.com/show/4KCp777K
0

相关试题推荐
最新回复(0)