以下哪个是以空字符结尾的字符串?
char *str1 = "This is a string.";
char *str2 = "This is a string.\0";
char str3[] = "This is a string.";
const char *str4 = "This is a string.";
const char *str5 = "This is a string.\0";
const char str6[] = "This is a string.";
Run Code Online (Sandbox Code Playgroud)
ice*_*ime 10
str2并str5具有双重空终止字符串的特殊性另外:
char *str1 应该 const char *str1char *str2 应该 const char *str2它们都是以null结尾的(str2并且str5实际上是双重终止的),因为使用双引号是空终止的char数组的简写.
所以这:
"Hello"
Run Code Online (Sandbox Code Playgroud)
实际上是这样的:
{'H', 'e', 'l', 'l', 'o', '\0'}
Run Code Online (Sandbox Code Playgroud)
指向字符串文字的变量应该声明为const.