一个难以理解的问题?

img


为什么\n占一个字节,而\0占两个?
qwertyuiopasdfghjklzxcvbnm

不是\0占两个 而是里面实际上存在两个 \0
"abc\n\0"实际上有6个字符 分别是:'a' , 'b' , 'c' , '\n' , '\0' , '\0'


strlen  计算有效字符个数,遇到'\0'字符终止。
sizeof  计算计算所有字符包括结尾符'\0'也计算在内
例如:
char s[]="abcde"
这后面隐藏了,字符串结尾符'\0'

\n和'\0'都是占一个字符的位置,并不存在其它情况。