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!"; 展开
А. char b[10]={'b','y','e','!'};
B. char b[10];b= "bye!";
с. char b[10];strcpy(b,"bye!");
D. char b[10]= "bye!"; 展开
3个回答
2020-10-23 · 学动漫、设计、电竞、电商、短视频、软件等
关注
展开全部
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!"是一个字符串常量不是数组的地址。
你明白了吗?
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!"是一个字符串常量不是数组的地址。
你明白了吗?
追问
太谢谢了
展开全部
答案必是一个错误的答案。因为数组名是一个指针常量,它的值是系统在编译时确定的,不能够被赋值的。
而其余三个答案都能够正确的实现,给字符串数组赋一个字符串的值。
而其余三个答案都能够正确的实现,给字符串数组赋一个字符串的值。
追答
答案必是一个错误的答案。因为数组名是一个指针常量,它的值是系统在编译时确定的,不能够被赋值的。
而其余三个答案都能够正确的实现,给字符串数组赋一个字符串的值。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
B中:一个是数组一个是指针,虽然两者用法一样毕竟还是两回事。相当于把指针地址写到数组地址(数组地址是常量,但反过来可以),所以必须用C的方法来赋值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询