C语言刚入门,答案是B,不懂怎么得来的,求详细过程,有图?

17.不能把字符串"bye!"赋给字符数组b的语句是()。А.charb[10]={'b','y','e','!'};B.charb[10];b="bye!";с.cha... 17.不能把字符串"bye! "赋给字符数组b的语句是( )。

А. char b[10]={'b','y','e','!'};

B. char b[10];b= "bye!";

с. char b[10];strcpy(b,"bye!");

D. char b[10]= "bye!";
展开
 我来答
重庆新华电脑学校
2020-10-23 · 学动漫、设计、电竞、电商、短视频、软件等
重庆新华电脑学校
重庆新华电脑学校隶属于新华教育集团,经重庆市人力资源和社会保障局审批成立的重庆地区大规模IT人才教育基地。是国家信息化教育全国示范基地,中国IT教育十大影响力品牌学校。
向TA提问
展开全部
b 错误。
char b[10];定义一个10个字节的字符数组,数据存储在动态内存区
"bye!"字符串常量,存储在常量区
b数组不能在定义后通过直接赋值将"bye!"字符串常量赋值。
可以在定义的时候初始化赋值
char b[]="bye!";
系统会自动完成"bye!"的每一个字符的赋值到对应的位置
如:
b[0]='b' b[1]='y' b[2]='e' b[3]='1' b[4]='\0' 字符串结束符号
b="bye!"就不能赋值
因为"bye!"是一个字符串常量不是数组的地址。
你明白了吗?
追问
太谢谢了
听不清啊
高粉答主

2020-10-23 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.8亿
展开全部
答案必是一个错误的答案。因为数组名是一个指针常量,它的值是系统在编译时确定的,不能够被赋值的。
而其余三个答案都能够正确的实现,给字符串数组赋一个字符串的值。
追答
答案必是一个错误的答案。因为数组名是一个指针常量,它的值是系统在编译时确定的,不能够被赋值的。
而其余三个答案都能够正确的实现,给字符串数组赋一个字符串的值。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友1442c68
2020-10-23 · TA获得超过1083个赞
知道大有可为答主
回答量:4466
采纳率:57%
帮助的人:800万
展开全部
B中:一个是数组一个是指针,虽然两者用法一样毕竟还是两回事。相当于把指针地址写到数组地址(数组地址是常量,但反过来可以),所以必须用C的方法来赋值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式