C语言单选题:字符循环与switch语句的应用

题目: 下列程序的运行结果是( )。

#include "stdio.h"

int main() {
    char a = 'A';
    for (; a < 'D';) {
        switch (a + 1) {
            case 'A': a++; break;
            case 'B': ++a; break;
            case 'C': a = a + 1;
            default: a = a + 2;
        }
    }
    printf("%c\n", a);
    return 0;
}

选项: A. F B. E C. D D. C

解析:

程序中定义了一个字符变量a,并初始化为'A'。然后进入一个无限循环,每次循环先执行switch语句,根据a+1的值进行不同的操作。

  • 当a为'A'时,执行a++,即a的值变为'B';
  • 当a为'B'时,执行++a,即a的值变为'C';
  • 当a为'C'时,执行a = a + 1,即a的值变为'D';
  • 当a为其他值时,执行a = a + 2,即a的值加2。

由于循环条件中限制了a的值小于'D',当a的值为'D'时,循环结束。此时a的值为'E',最后输出a的值,即'E'。

因此,程序的运行结果为 B. E。


原文地址: https://www.cveoy.top/t/topic/mXqg 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录