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

admin2015-07-31  23

问题 有以下程序
#include
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 的值作为条件表达式的值,否则以表达式2的值作为整个条件表达式的值。
    本题中语句printf((x%2)?("*%d"):("#%d"),x);含义为变量x对2求余,如果结果为真,则按照"*%d"格式输出,否则按照#%d输出。
    因此A选项正确。
转载请注明原文地址:https://jikaoti.com/ti/sri0FFFM
0

最新回复(0)