C语言指针问题

下面判断正确的是。A.char*a="china";等价于char*a;*a="china";B.charstr[10]={"china"};等价于charstr[10]... 下面判断正确的是。
A.char *a="china";等价于char *a;*a="china";
B.char str[10]={"china"};等价于char str[10];str[]="china";
C.char *s="china";等价于char *s;s="china";
D.char c[6]="china",d[6]="china";等价于char c[6]=d[6]="china";
参考答案:C
A/C有什么区别?
展开
 我来答
hu_yibing
2015-01-07 · TA获得超过1908个赞
知道大有可为答主
回答量:1399
采纳率:62%
帮助的人:1074万
展开全部
A:char *a说明*a是一个字符,而"china"是一个字符串,因此赋值错了。
追问
那char *s为什么可以呢?
追答
char *s后面的语句是s="china",s是一个char型指针,储存的是char类型的地址,s="china"就是把"china"这个字符串的首地址赋给s。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
望穿秋水待伊人
2015-01-07 · TA获得超过644个赞
知道小有建树答主
回答量:708
采纳率:100%
帮助的人:788万
展开全部
不能给指针赋值。 所以*a="china"; 这种方式是错误的。
char *a="china" ,都是 (char *) a = "china";

所有给指针的赋值都只能是给地址赋值
追问
那C为什么可以呢?
追答
s="china"  , 是把字符串的首地址赋值给s   , 所有  *x  =  ??? ;  这种做法都是错误的。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式