关于strlen和sizeof的问题
为什么第一个printf调用sizeof后的结果是6啊,不应该是6个字符加上一个\0,然后结果是7吗?然后strlen的结果也是5#include <stdio.h>
#include <string.h>
int main(void)
{
printf("%d\n", sizeof("\\\abc\376"));
printf("%d\n", strlen("\\\abc\376"));
return 0;
} 本帖最后由 临时号 于 2022-7-17 11:40 编辑
\\是一个转义字符,表示打印\,占1个字节
\a也是一个转义字符,表示响铃,占1个字节
bc占2个字节
\376也是转义字符,表示八进制数376,占一个字节
\0占一个字节
所以总共加起来一共6个字节
页:
[1]