我正在编写此代码以使用带有7个元素的char数组的sizeof()函数,我认为输出应该是8因为7个元素PLUS数组的终结符但是输出是5的惊讶? ?怎么样?
#include<stdio.h>
int main(void)
{
char str[]="S\065AB";
printf("\n%d",sizeof(str));
return 0;
}
答案 0 :(得分:6)
\065
是一个单个字符,表示为八进制转义序列。
答案 1 :(得分:5)
使用:
char str[]="S\\065AB";
而不是
char str[]="S\065AB";
\065
是一个C转义序列。