字符串数组
1.字符串数组中a是那种类型?2.字符串数组的输出该如何表示?在printf函数中为什么是a,它和*a有什么区别和联系?
#include<stdio.h>
int main()
{
char*a[]=
{
"January\n",
"February\n",
"March\n",
"April\n",
"May\n",
"June\n",
"July\n",
"August\n",
"September\n",
"October\n",
"November\n",
"December\n",
} ;
printf("请输入月份:");
int i;
scanf("%d",&i) ;
printf("%s\n",a);
return 0;
} char*a[]这是声明一个字符串数组,顾名思义这是一个数组,每个元素是由字符串组成
那毫无疑问a就是第一个元素a就是第二个元素 1.字符串数组中a是那种类型?
答:这是一个数组,数组的元素是指针,指针里存放的是字符串的地址,合起来讲就是字符串指针数组。所以a是一个指针,指向char形。
2.字符串数组的输出该如何表示?在printf函数中为什么是a,它和*a有什么区别和联系?
答:字符串数组的输出跟二维数组输出类似,写个循环逐个 printf("%s\n",a[i);就可以了
for(i=0;i<sizeof(a)/sizeof(a);i++)
printf("%s",a);
a表示第i个字符串的地址(从0开始算起)。*a表示第i个字符串(从0开始算起)
页:
[1]