指针,怎么得出的0啊

chat str[]="ABC",p=str;
printf("%d\n",
(p+3));

img

因为这个数组没有指定长度,并且用字符串给未指定长度的数组赋值,在C语言中,这种情况是默认编译器会加一个结束符的,结束符有转义符加一个0组成,他在内存中的编码就是0,所以读出来就是真正的0

因为字符串长度是3,所以访问下标3,就是访问字符串结尾的标记,\0

img

你数下标哈。
下标是从0开始的
0 A
1 B
2 C
3 \0