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

C语言如何获取用户输入并打印数组中对应的月份元素

实现代码

#include <stdio.h>

int main() {
    // 已修正原数组中11月的拼写错误,原拼写Novemeber应为November
    const char *months[12] = { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" };
    int input;

    printf("请输入1~12范围内的整数:");
    // 校验是否读取到合法整数
    if (scanf("%d", &input) != 1) {
        printf("输入不合法,请输入整数\n");
        return 1;
    }
    // 校验输入范围,避免数组越界
    if (input < 1 || input > 12) {
        printf("输入不合法,请输入1到12之间的数字\n");
        return 1;
    }

    printf("对应月份为:%s\n", months[input - 1]);
    return 0;
}

关键逻辑说明

  • 数组下标映射:C语言数组索引从0开始,用户输入的1对应第一个元素January,因此需要用输入值减1作为下标访问数组。
  • 边界校验:必须校验输入的范围,防止输入超出1~12时访问数组越界,引发程序崩溃或异常输出;同时校验scanf返回值,避免用户输入非数字内容导致逻辑异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 22:27:04