以下能正确进行字符串赋值,赋初值的语句组是()

Achar[5]={'a''e''i''o''u'};Bchar*s;s="good!";Cchars[5]="good!";Dchars[5];s=“good";希望给... A char[5]={'a' 'e' 'i' 'o' 'u'};

B char *s;s="good!";
C char s[5]="good!";
D char s[5];s=“good";
希望给出解释,谢谢。
展开
 我来答
庄政警
推荐于2017-11-26 · TA获得超过9916个赞
知道大有可为答主
回答量:1113
采纳率:94%
帮助的人:853万
展开全部
B正确

A char[5]={'a' 'e' 'i' 'o' 'u'}; 没有终结符,不算字符串
B char *s;s="good!"; //定义一个字符指针,然后让这个指针指向常量字符串"good!",正确
C char s[5]="good!"; //"good!"有6个字符,s空间不够,会越界
D char s[5];s=“good"; //s是个数组名,是常量,不可以被赋值
风雷九州
2014-12-22 · TA获得超过3024个赞
知道大有可为答主
回答量:1127
采纳率:100%
帮助的人:406万
展开全部
基础:C语言的字符串以'\0'结束,这个楼主应该明白吧。

A选项
没有结束符'\0',并不是完整的字符串,错误

B选项
“good!”是一个字符串常量(同整型常量一个概念),s指向它的地址,正确

C选项
“good!”占用6个字节,字符5个字节,还有一个字节是结束符'\0',数组空间不够,会发生越界,错误

D选项
语法错误,数组只有定义的时候可以使用=号进行赋值,其他地方不能使用=赋值,只能通过循环一个元素一个元素的赋值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wuiiao333
2014-12-22 · TA获得超过799个赞
知道小有建树答主
回答量:666
采纳率:0%
帮助的人:194万
展开全部
AB~~~~~~~
A:s[]这样的方式,那么A的数组个数由初始化决定。
//A是正确的,有5个元素,是数组但不是字符串

B:s表示char指针,char指针存储字符数组、字符串地址。
双引号括起来的字符常量实际为第一个字符的地址。所以s存储g的地址,相当于存储字符串的地址。
C:双引号默认最后一个为空字符,所以“good!”一共6个字符。s数组只有5个,存储不了
D:数组名是常量(不是指针名,指针名是变量),常量不能被赋值。

就好比 3=5; 常量3不能被赋值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fengminxiang
2014-12-22 · 超过17用户采纳过TA的回答
知道答主
回答量:45
采纳率:0%
帮助的人:45.6万
展开全部
B正确
A)字符串应以'\0'结尾,应改为:char s[ ]={'a','e','i','o','u','\0'};

C)这样赋值编译器会默认在结尾处加'\0',由于指定s只能放5个字符,所以good!后若加'\0'会导致数组越界,应改为:char s[6] = “good!”此时字符串中的值为'g' 'o' 'o' 'd' '\0'
D)char s[5]后面是分号代表语句结束,s = "good"是下一语句的开始,字符串无法以该方式赋值,应改为s[0] = 'g'; s[1] = 'o'; s[2] = 'o'; s[3] = 'd'; s[4] = '\0';
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yahoo_kara
2014-03-06 · TA获得超过137个赞
知道小有建树答主
回答量:151
采纳率:0%
帮助的人:141万
展开全部
A char[5]={'a' 'e' 'i' 'o' 'u'};
不行,没有结束符 \0
B char *s;s="good!";
不行,s 是地址
C char s[5]="good!";
不行,原因跟A一样
D char s[5];s=“good";
这个应该没问题
更多追问追答
追问
答案不对呢,是B
追答
抱歉
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式