sizeof(array_of_char)输出奇怪的数字

时间:2014-01-11 17:20:22

标签: c sizeof

我正在编写此代码以使用带有7个元素的char数组的sizeof()函数,我认为输出应该是8因为7个元素PLUS数组的终结符但是输出是5的惊讶? ?怎么样?

#include<stdio.h>

int main(void)
{
    char str[]="S\065AB";
    printf("\n%d",sizeof(str));

return 0;
}

2 个答案:

答案 0 :(得分:6)

\065是一个单个字符,表示为八进制转义序列。

答案 1 :(得分:5)

使用:

char str[]="S\\065AB";

而不是

char str[]="S\065AB";

\065是一个C转义序列。