答案为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”字符串的地址。
参考资料来源:百度百科-字符串常量
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'。
本回答被网友采纳参考资料:K&R C 第二版