从键盘任意输入一个整型表示的月份值,用指针数组编程输出该月份的英文表示,若输入的月份值不在1~12之间,则输出“Illegal month”。
**输入格式要求:"%d" 提示信息:"Input month number:"
**输出格式要求:"month %d is %s\n"
"Illegal month", "January", "February", "March", "April", "May", "June", "July", August", "September", "October", "November", "December"
程序运行示例1如下:
Input month number:5
month 5 is May
程序运行示例2如下:
Input month number:13
Illegal month
#include<Stdio.h>
#define N 12//月份数
#define MAX 15//字符串最大长度
int main(void)
{int n;char month[N][MAX] = {"January","February","March","April","May","June","July","August","September","October","November","December"};char *pmonth[N];//定义字符指针数组printf("请输入某个月份值:");scanf("%d",&n);if(n>=1 && n<=12){pmonth[n-1] = month[n-1];//让pmonth[n-1]指向二维字符数组name的第i行puts(pmonth[n-1]);//输出第n-1个字符串到pmonth指向的内存}elseprintf("Illegal month");
}
#include<stdio.h>
int main()
{int n;const char* month[12] = { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" };printf("Input month number:");scanf_s("%d", &n);if (n < 1 || n>12)printf("Illegal month");elseprintf("month %d is %s\n", n, month[n - 1]); //传递给%s的应该是一个地址,而不是*month[n-1]
}