下列哪个是C++语言的合法的字符常量__________. A "\0" B '054' C '\x89' D '\092' 答案 C 请解释一下
展开全部
C++语言中的字符常量:通常指单引号括起来的内容,双引号的为字符串,根据这个定义,A排除。字符常量中可以用转义序列来表示,如'\t'表示退格,及用转义符号"\"后加ASCll码来表示单一字符。
注意此处ASCll码用八进制或十六进制表示,故开始无 0,排除B,D,还有八进制中首字以o(欧)开头,不是零,十六进制以x或X开头。
字符常量(使用单引号)与字符串常量(使用双引号)不能互换。
扩展资料
字符串常量。之所以称之为常量,由于它可一看作是一个没有命名的字符串且为常量,存放在静态数据区。这里说的静态数据区,是相对于堆、栈等动态数据区而言的。
静态数据区存放的是全局变量和静态变量。从这一点上来说,字符串常量又能够称之为一个无名的静态变量,由于"Hello world!"这个字符串在函数 s1和s2 中都引用了。但在内存中却仅仅有一份拷贝,这与静态变量性质相当神似。
char *c="chenxi";书上说: "chenxi"这个字符串被当作常量并且被放置在此程序的内存静态区。
参考资料来源:
展开全部
A“\0”以双引号界定,是字符串,错。
B '054' 界定了3个字符,错。
C '\x89' 是采用16进制的转义字符,正确。
D '\092'看似转义字符,但是,以0开头的是8进制字符,9不合法,所以还是界定了3个字符,\0,9,2,错。
B '054' 界定了3个字符,错。
C '\x89' 是采用16进制的转义字符,正确。
D '\092'看似转义字符,但是,以0开头的是8进制字符,9不合法,所以还是界定了3个字符,\0,9,2,错。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
字符常量通常指单引号括起来的内容,双引号的为字符串,A排除。字符常量中可以用转义序列来表示,如'\t'表示退格,及用转义符号"\"后加ASCll码来表示单一字符,注意此处ASCll码用八进制或十六进制表示,故开始无 0,排除B,D,还有八进制中首字以o(欧)开头,不是零,十六进制以x或X开头。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询