编写一程序,输入月份号,输出该月的英文月名。例如,输入 $3$,则输出 $March$,要求用指针数组处理。
时间: 2024-05-05 18:18:08 浏览: 93
好的,我明白了。下面是一份参考代码:
```c
#include <stdio.h>
char *month_name(int n);
int main()
{
int month;
printf("请输入月份号:");
scanf("%d", &month);
printf("%s\n", month_name(month));
return 0;
}
char *month_name(int n)
{
static char *name[] = {
"Illegal month",
"January", "February", "March",
"April", "May", "June",
"July", "August", "September",
"October", "November", "December"
};
return (n < 1 || n > 12) ? name[0] : name[n];
}
```
这个程序定义了一个指向字符串的指针数组 `char *name[]`,数组中的每个元素存储了月份的英文名称。`month_name()` 函数接受一个整数参数 `n`,返回对应的月份英文名称的指针。在 `main()` 函数中,首先读取用户输入的月份号,然后调用 `month_name()` 函数输出该月份的英文名称。
值得注意的是,`name` 数组是使用 `static` 关键字定义的,这意味着该数组在程序整个运行期间都会存在,即使该函数结束执行后,该数组中的数据仍保持不变。这样,在函数返回时仍可以正确地指向英文名称的字符串。
阅读全文