有以下程序: #include<stdio.h> main() { int x; for(x=3;x<6;x++) printf((x%2)?("*%d"):("#%d"),x); printf("\n"); } 程序的输出结果是( )。

admin2021-02-25  26

问题 有以下程序:
#include<stdio.h>
main()
{
int x;
for(x=3;x<6;x++)
printf((x%2)?("*%d"):("#%d"),x);
printf("\n");
}
程序的输出结果是(    )。

选项 A、*3#4*5
B、#3*4#5
C、*3*4#5
D、*3#4#5

答案A

解析 条件运算符组成条件表达式的一般形式为:表达式1?表达式2:表达式3。其求值规则为:表达式1值为真,则以表达式2的值作为条件表达式的值,否则以表达式3的值作为整个条件表达式的值。本题中语句printf((x%2)?("*%d"):("#%d",x);含义为变量x对2求余,如果结果为真,则按照“*%d”出,否则按照“#%d”出。故A选项正确。
转载请注明原文地址:https://jikaoti.com/ti/XJz0FFFM
0

最新回复(0)