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

admin2019-12-17  31

问题 有以下程序:
#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″,x);含义为变量x对2求余,如果结果为真,则按照“*%d”出,否则按照“#%d”出。故A选项正确。
转载请注明原文地址:https://kaotiyun.com/show/6oCp777K
0

最新回复(0)