以下语句或语句组中,能正确进行字符串赋值的是

A)char*sp;*sp="right!";B)chars[10];s="right!";C)chars[10];*s="right!";D)char*sp="righ... A)char *sp;*sp="right!";
B)char s[10];s="right!";
C)char s[10];*s="right!";
D)char *sp="right!";
展开
 我来答
艾丝凡怠速放缓
推荐于2017-12-16 · TA获得超过730个赞
知道答主
回答量:111
采纳率:100%
帮助的人:15万
展开全部
答案D
a。sp指向的内容未定义
b。s是引用数组首地址,一般做不了左表达式;即使左边是指针变量,右边那“right!"也不对应地址
c。*s是数组首元素
d。相当于两个操作,先申请地址存”right!“,再将sp指向它

A
char *sp;*sp="right!";
不对
sp是一个字符指针,然后再*sp就是一个字符的意思,它不可以赋值一个字符
串。
B
char s[10];s="right!";
s是一个数组名,数组名不可以赋值。
C
char s[10];*s="right!";
s是一个数组的首地址,它指向第一个元素。
所以*s就是s[0]它也是一个字符,不可以赋值为字符串

其实赋值中,就是字符串赋值比较难。
你主要注意下
字符串的初始化的两种形式
char *sp="right!";
另外
char sp[]="right!";
也可以。
其他的如果不是初始化,纯赋值,主要是观察左右类型是否一致。
不能左边是一个字符或者一个指针,而右边是一个字符串常量。
wlc天使的眼泪
2012-06-08 · 超过19用户采纳过TA的回答
知道答主
回答量:66
采纳率:0%
帮助的人:48万
展开全部
B.D
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
expert1998
2012-06-01 · TA获得超过2693个赞
知道小有建树答主
回答量:886
采纳率:100%
帮助的人:265万
展开全部
D
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式