char str[]="ab尀n尀012尀尀";printf("%d",strlen(str));

运行结果为什么是5不是6不是只有尀0不算多吗
2025-05-20 03:43:47
推荐回答(4个)
回答(1):

\n,\012,\\都是转义字符,只算一个。因此加上a,b总共五个。

回答(2):

"ab\n\012\\";
a 1个字符
b 1个字符
\n 1个字符
\012 1个字符
\\ 1个字符
所以5个

回答(3):

a 1个字符
b 1个字符
\n 1个字符
\012 1个字符
\\ 1个字符

共5个 \0不算

回答(4):

\0不算
空串""的长度是0,但是它是占用空间的,占一个字节(\0)。