c语言字符数组的结束符
c语言并不要求字符数组的最后一个字符为‘\0’。
例如
char str1[] = {'a', 'b', 'c'}; sizeof(str1) = 3;
char str2[] = {'a', 'b', 'c', '\0'}; sizeof(str1) = 4;
但当使用printf函数打印没有结束符的字符数组的时候就会出错.
printf("%s\n", str1) 错误
printf("%s\n", str1) 正确
c语言并不要求字符数组的最后一个字符为‘\0’。
例如
char str1[] = {'a', 'b', 'c'}; sizeof(str1) = 3;
char str2[] = {'a', 'b', 'c', '\0'}; sizeof(str1) = 4;
printf("%s\n", str1) 错误
printf("%s\n", str1) 正确