You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C语言接收用户输入大写字母后打印后续字母序列的实现问询

代码存在的问题
  • 核心语法错误:scanf 读取输入时需要传入变量的内存地址才能完成赋值,原代码写的scanf("%c",alpha_U)没有给变量加取地址符&,属于未定义行为,会导致输入读取失败,甚至程序崩溃。
  • 缺少输入合法性校验:没有判断用户输入的字符是否是A-Z区间内的大写字母,如果用户输入小写字母、数字或特殊符号,循环会输出非预期的乱码字符,或者直接无输出。
  • 输出格式缺失:打印完字母序列后没有追加换行符,输出内容会和终端命令提示符挤在同一行,显示异常。
修正后可运行代码
#include<stdio.h>

int main(){
    char alpha_U;
    printf("Enter the letter from where you want in upper case: ");
    // 传入变量地址,同时判断scanf读取是否成功
    if (scanf("%c", &alpha_U) != 1) {
        printf("Failed to read input\n");
        return 1;
    }

    // 校验输入是否为合法大写字母
    if (alpha_U < 'A' || alpha_U > 'Z') {
        printf("Invalid input, please enter an uppercase letter from A to Z\n");
        return 1;
    }
    
    for(char i = alpha_U; i <= 'Z'; i++){
        printf("%c",i);
    }
    // 打印结束后输出换行
    printf("\n");
    
    return 0;
}
运行说明
  • 输入合法大写字母时,会从输入字母开始顺序打印直到Z的所有大写字母,例如输入F,输出为FGHIJKLMNOPQRSTUVWXYZ
  • 输入内容不符合要求时,会直接给出错误提示,不会输出乱码。

内容的提问来源于stack exchange,提问作者dev op

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 08:12:12