1 题目
功能:输入月份号并输出英文月份名
描述:
使用指针数组创建一个含有月份英文名的字符串数组
并使用指向指针的指针指向这个字符串数组,实现输出数组中的指定字符串
2 思路
使用指针的指针实现对字符串数组中的字符串的输出
*month[] 属于指针数组,*month本身就是指针,数组中都是存放着指针。那么 month是指针数组的首地址,**p=month 指向数组中的每个元素
3 代码
#include <stdio.h>
#include <stdlib.h>
/**
功能:输入月份号并输出英文月份名
描述:
使用指针数组创建一个含有月份英文名的字符串数组
并使用指向指针的指针指向这个字符串数组,实现输出数组中的指定字符串
**/
int main(int argc, char const *argv[]) {
char *month[] = {
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December"
};
int m;
char **p; // 指向指针的指针变量
p = month; // 数组首地址赋值给指针变量
printf("输入一个月份号(阿拉伯数组):");
scanf("%d", &m);
printf("本月是:");
printf("%s\n", *(p+m-1));
getchar();
return 0;
}
示例结果:
$ gcc ex024.c -o demo
$ ./demo
输入一个月份号(阿拉伯数组):3
本月是:March
$ ./demo
输入一个月份号(阿拉伯数组):9
本月是:September