C语言问题,下面的程序为什么不能把printf("%s\n",month[i])改成printf("%s\n",*month[i]) 10

#include<stdio.h>main(){大神们解释的最好能详细一些inti;char*month[]={"January","February","March",... #include<stdio.h>
main()
{
大神们解释的最好能详细一些
int i;
char *month[]=
{
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December"
}; /*给指针数组中的元素赋初值*/
for(i=0;i<12;i++)
printf("%s\n",month[i]); /*输出指针数组中的各元素*/
}
展开
 我来答
房子a房子a
2017-08-02 · TA获得超过2047个赞
知道小有建树答主
回答量:783
采纳率:85%
帮助的人:565万
展开全部
char *month[]声明的是一个指针数组,数组中每个元素是一个字符指针(指向星期的英文字符串)在调用时month[i]就已经是选择星期字符串的头了,所以printf可以直接打印了。如果在month[i]前面加上*号,那相当于对一个指针再取地址了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2017-08-02
展开全部
首先你要明白mouth[i]和*mouth[i]的意思,你要打印字符串,你后面对应的是他的地址里面的东西,而*mouth[i]指向的是他的值,所以你这样打印的话编译没问题,但打开终端后系统就报错了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式