C语言,字符串常量”\t\”name\\address\n”的长度为( )

A.19 B.15 C.18 D.不合法
请详细解释,谢谢!!!

C语言,字符串常量”\t\”name\\address\n”的长度为15。

strlen(hello word):字符串为“hello word”这种字符串常量,系统会在其后自动补上'\0';但是求字符串长度的函数strlen()只要遇见'\0',就会返回函数值,'\0'不算在其中。所以返回值为10(空格也算一个字符)。

strlen(hello\0world):其中的字符串为“hello\0word”,而strlen函数遇到'\0'就代表结束,所以返回值为5。

扩展资料

字符常量是由一对单撇号括起来的单个字符,如 'a'、'D'、'?'、'$'。在 C 语言中,除了字符常量外还有字符串常量,顾名思义就是多个“字符”串在一起。

与字符常量有所不同,字符串常量是用“双撇号”括起来的多个字符的序列,如"How are you"、"I love you"、"你好"。当然,只要是“双撇号”括起来的,就算只有一个字符也叫字符串,如"a"。字符常量 'a'与字符串常量"a"是不同的。

一个字符在内存中只占一字节,而字符串本质上是多个字符组成的字符数组。C语言规定,在每一个字符串常量的结尾,系统都会自动加一个字符'\0'作为该字符串的“结束标志符”,系统据此判断字符串是否结束。这里要特别强调一点:'\0'是系统自动加上的,不是人为添加的。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-04-10
15个,\t是横向跳到下一个制表的转义制符,\"和\\还有\n都一样,分别是指双引号符,反斜线符“\”,回车换行,都只算一个长度,其他的一个算一个长度本回答被提问者和网友采纳
第2个回答  2009-03-12

经过我的测试 答案是15.

第3个回答  2009-03-12
\t 算1个
\n 1
\a 1
\" 1
其他都是一个1
加起来15个
第4个回答  2019-12-08

16-1=15