以下正确的字符串常量是什么?

以下正确的字符串常量是什么?A."\\\"B.'abc'C.OlympicGamesD.""主要请讲下A和D.谢谢了!!!... 以下正确的字符串常量是什么?
A."\\\"
B.'abc'
C.Olympic Games
D.""

主要请讲下A和D.谢谢了!!!
展开
 我来答
帐号已注销
高粉答主

2020-02-09 · 说的都是干货,快来关注
知道小有建树答主
回答量:263
采纳率:95%
帮助的人:10.5万
展开全部

答案为D。

D是一个空字符串,仅有字符串结束标志的字符串。

A中第一个字符是'\\',即字符\,而第二个字符'\'中的斜杠表示开始某个转义字符,其后必须还有有效的和它能组成转义字符的其它内容,但现在没有,所以错。

扩展资料:

与指针的关系:

在程序中,字符串常量会生成一个“指向字符的常量指针”。当一个字符串常量出现于一个表达式中时,表达式所使用的值就是这些字符所存储的地址,而不是这些字符本身。

可以把字符串常量赋值给一个“指向字符 的指针”,例如:char *a = "123" ; a = "abc";,后者指向这些字符所存储的地址。

不能把字符串常量赋值给一个字符数组,因为字符串常量的直接值是一个指针,而不是这些字符本身。例如:char a;a = "a";就是错误的,报错结果:invalid conversion from 'const char*' to 'char'。

例如:char a="love",的意思就是用字符串“love”来初始化字符数组a的内存空间,而数组的首地址也就是“love”字符串的地址。

参考资料来源:百度百科-字符串常量



休闲娱乐达人天际
高能答主

2020-05-12 · 致力于休闲娱乐知识的解答,分享娱乐知识。
休闲娱乐达人天际
采纳数:1605 获赞数:396507

向TA提问 私信TA
展开全部

D是一个空字符串,百仅有字符串结束标志的字符串。

例如下面的是合法的字符串常量:

"how do you do.","CHINA","a","$123.45"“C language programming”、“a\\n”、“#123”、“ ”等为字符串常量

存储:字符串中的字符依次存储在内存中一块连续的区域内,并且把空字符‘ \0’自动附加到字符串的尾部作为字符串的结束标志。故字符个数为n的字符串在内存中应占(n+1)个字节。

可以输出字符串,例如:

printf("how do you do.");

扩展资料:

在程序中,字符串常量会生成一个“指向字符的常量指针”。当一个字符串常量出现于一个表达式中时,表达式所使用的值就是这些字符所存储的地址,而不是这些字符本身。因此,你可以把字符串常量赋值给一个“指向字符 的指针”。

例如:char *a = "123" ; a = "abc";,后者指向这些字符所存储的地址。但是,你不能把字符串常量赋值给一个字符数组,因为字符串常量的直接值是一个指针,而不是这些字符本身。例如:char a[5];a[0] = "a";就是错误的,报错结果:invalid conversion from 'const char*' to 'char'。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友34adba635
2008-01-04 · TA获得超过367个赞
知道小有建树答主
回答量:296
采纳率:0%
帮助的人:307万
展开全部
根据K&R C 第二版第193页和第194页对Character和String的定义:
A character constant is a sequence of one or more characters enclosed in single quotes.

A string literal,also called a string constant,is a sequence of characters surrounded by double quotes,as in " ... ".

很明显,B和C不符合以上定义。又根据第192页对常量(constants)的定义:
constant:
integer-constant
character-constant
floating-constant
enumeration-constant
也即常量应该是数字、字符、浮点数、枚举常量的组合。
对于A,通过转义,它将被解释成两个反斜线:\\,\也是字符,它的ASCII码的十进制表示是92,所以选项A符合字符串的定义,选项D双引号中没有包含上述3中常量类型中的任何一个,所以它不属于字符串常量。

参考资料: K&R C 第二版

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mystudio757
推荐于2017-12-16 · TA获得超过587个赞
知道小有建树答主
回答量:116
采纳率:0%
帮助的人:172万
展开全部
答案为D
D是一个空字符串,仅有字符串结束标志的字符串。
A中第一个字符是'\\',即字符\,而第二个字符'\'中的斜杠表示开始某个转义字符,其后必须还有有效的和它能组成转义字符的其它内容,但现在没有,所以错。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
againy
2008-01-04
知道答主
回答量:13
采纳率:0%
帮助的人:21.8万
展开全部
正确答案( D )
字符串在C语言和C++中是用双引号表示的,排除B、C。

A中虽然有双引号,但是在双引号里却是一个转义字符"\",而且"\"是一个不可打印的字符。所以不选A。

可以把""理解为空字符串
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式