C语言—指针数组

从键盘任意输入一个整型表示的月份值,用指针数组编程输出该月份的英文表示,若输入的月份值不在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指向的内存
    }
    else
        printf("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");
	else
		printf("month %d is %s\n", n, month[n - 1]);   //传递给%s的应该是一个地址,而不是*month[n-1]
}

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值