有下列程序  #include<stdio.h>  main()  {   char b[]="happychristmas",k;   for(k=0;b[k];k++)   {   if(b[k]<’m’)   b[k]=b[k]-

admin2022-04-02  11

问题 有下列程序
 #include<stdio.h>
 main()
 {
   char b[]="happychristmas",k;
   for(k=0;b[k];k++)
   {
     if(b[k]<’m’)
      b[k]=b[k]-’a’+’A’;
     printf("%c",b[k]);
   }
 }
 程序执行后的输出结果是(          )。

选项 A、hAppychristmAs
B、happychristmas
C、HAppyCHrIstmAs
D、HAPPYCHRISTMAS

答案C

解析 程序定义一个字符数组b,和一个字符变量k。for循环通过循环变量k,遍历数组b中的各个字符,通过if语句判断当前下标为k的字符的ASCII码与字符’m’的大小,ASCII码小于’m’的字符改成大写字母(b[k]=b[k]-’a’+’A’),然后输出b[k]。字符串happychristmas,ASCII码小于’m’的字符有:b,a,c,h,i,a,所以程序输出:HappyCHrIstmAs。本题答案为C选项。
转载请注明原文地址:https://kaotiyun.com/show/xhkp777K
0

最新回复(0)