C语言题目

chara[20],*p;p=a="computer";printf("%c\n",*p);这也写为什么不对请说明原因算了我这样问好了下面说明中,不正确的是_______... char a[20],*p;
p=a="computer";
printf("%c\n",*p);
这也写 为什么不对 请说明原因
算了 我这样问好了

下面说明中,不正确的是________。
(A) char a[20],*p; p=a=”computer”;
(B) char a[20]=”computer”;
(C) chara[20],*p=a; p=”computer”;
(D) char *a; a=”computer”;
求高手解释下~!没高手解释下么????~~!!!让我明白了自然采纳,楼下的解答都不能让我理解~!!!!我再加20分啊~~求高手给出专业解答~~~~!!!!!!!!!!!
展开
 我来答
潇湘月heaven
2013-05-01 · 超过12用户采纳过TA的回答
知道答主
回答量:130
采纳率:0%
帮助的人:42.5万
展开全部
printf()中的应该是p
追问
我主要是问
char a[20],*p;
p=a="computer"; 这里为什么错
追答
a是数组名,只能存储首地址
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-05-01
展开全部
a数组的每一个元素都是字符型,char a[20]="computer"可以按照整数数组那样理解为把computer的字符一个个存进a[20]里面。
p是指向char型的指针,字符串都是以字符数组的方式存储的,所以“computer”这个字符串也是字符数组,p=“computer”相当于把这个字符数组的起始地址赋给p,即p指向第一个字符“c”。
而a是数组的首地址,可以理解为指针,但它是常量,不能作为左值用来存储地址,p=a=computer是把a当成是指针变量来用了,所以不正确。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Bessie1991
2013-05-01 · TA获得超过122个赞
知道答主
回答量:112
采纳率:0%
帮助的人:116万
展开全部
其实他们都回答得很好理解
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式