C语言 求解析 下列语句组中正确的是() A.char *s;s=“Olympic”; B.c

C语言求解析下列语句组中正确的是()A.char*s;s=“Olympic”;B.char*s;s={“Olympic”};C.chars[7];s="Olympic";... C语言 求解析
下列语句组中正确的是()
A.char *s;s=“Olympic”;
B.char *s;s={“Olympic”};
C.char s[7];s="Olympic";
D.char s[7];s={"Olympic"};
展开
 我来答
jzh雨晴
推荐于2018-03-21
知道答主
回答量:27
采纳率:0%
帮助的人:11.9万
展开全部
正确答案时A,char *s,定义一个字符型指针,而"Olympic"这个表达式所使用的值是这些字符所存储的地址,而非字符本身,所以可以赋值给s;而{"Olympic"},加上大括号后,里面的内容就变成常量了(我是这么理解的),再赋值给指针s就不对了;对与char s[7],如果是
char s[7]="Olympic",这样是可以的,这种是数组的初始化,但是换成C选项就不对,"Olympic"赋值的值是一个地址,而s虽然也有地址,但是这与指针是不一样的,指针的值是地址,而数组的值虽然也是地址,但是却是一个常量,所以不能给常量赋值。
sqq8325
2015-08-06 · TA获得超过327个赞
知道小有建树答主
回答量:291
采纳率:100%
帮助的人:212万
展开全部
在C语言中,可以通过字符数组存放一个字符串,也可以用字符指针指向一个字符串。
A表示s是一个指向字符串的指针变量。把字符串的首地址赋予s。
C如果改成char s[]="Olympic";也是可以的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wchyumo2011
2015-08-06 · TA获得超过2万个赞
知道大有可为答主
回答量:5810
采纳率:79%
帮助的人:2695万
展开全部
A是正确的
B在C++11标准中可以用
CD中只有声明的时候能这样赋值
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式