有以下程序  #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-04-01  28

问题 有以下程序
 #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://jikaoti.com/ti/2Hd0FFFM
0

最新回复(0)