大一C语言题目 写出下列程序段的输出结果。( 13,d ) char str[]="hello\tworld\n";

写出下列程序段的输出结果。( 13,d )
char str[]="hello\tworld\n";
printf("%d, %c\n", sizeof(str), *(str+10));
为什么是13而不是15,为什么是d而不是w
请求指教。大一新生

\表示转义字符,与接下来的字符组合
\t 代表制表符,理解为占了一个长度的位置
\n是换行符,同上。
另外代码中定义字符数组的时候,会在末尾添加 \0 为字符串结束符,也占一个长度
因此长度会为 13
那么为什么为 后一个结果是 d也比较好理解了吧。
温馨提示:答案为网友推荐,仅供参考