有以下程序  #include<stdio.h>  main()  {char x,a=’A’,b=’B’,c=’C’,d=’D’;   x=(a<b)?a:b;   x=(x>c)?c:x;   x=(d>x)?x:d;   printf

admin2022-10-24  11

问题 有以下程序
 #include<stdio.h>
 main()
 {char x,a=’A’,b=’B’,c=’C’,d=’D’;
    x=(a<b)?a:b;
    x=(x>c)?c:x;
    x=(d>x)?x:d;
    printf(“%c\n",x);
 }
 程序运行后的输出结果是(          )。

选项 A、D
B、B
C、C
D、A

答案D

解析 题干中,字符变量a、b、c、d都是大写字母字符。C语言中,大写字母的ASCII值是按照字母顺序连续递增的,所以a小于b,b小于c,c小于d。则表达式“x=(a<b)?a:b”等价于“x=a”;“x=(x>c)?c:x”等价于“x=(a>c)?c:a”,等价于“x=a”;“x=(d>x)?x:d”等价于“x=(d>a)?a:d”,等价于“x=a”;所以程序输出x的值为A。故本题答案为D选项。
转载请注明原文地址:https://kaotiyun.com/show/BPkp777K
0

最新回复(0)