帮我看看这道c语言那里出错了?

来源:百度知道 编辑:UC知道 时间:2024/09/22 10:34:00
原意是:输入月份,输出它的英文名字
monthes(char a[12],int n)
{char *p=a;
int m=n-1;
printf("%s",*(p+m));
}
main()
{char a[12];int i,n;
printf("input the twelve monthes like:January,February,March,April,May,June,July,August,September,Octorber,November,December ");
for(i=0;i<12;i++)
scanf("%s",a[i]);
printf("input the month");
scanf("%d",&n);
monthes(a,n);
}

你定义的a[12]是char类型的,怎么能够存放一个字符串呢?
你可以用一个2维数组来存放12个月份的名称,比如
char a[12][10]

scanf("%s",a[i]);
这条语句错误.格式控制应该改成字符输出.改为scanf("%c",a[i]);