chat str[]="ABC",p=str;printf("%d\n",(p+3));
因为这个数组没有指定长度,并且用字符串给未指定长度的数组赋值,在C语言中,这种情况是默认编译器会加一个结束符的,结束符有转义符加一个0组成,他在内存中的编码就是0,所以读出来就是真正的0
因为字符串长度是3,所以访问下标3,就是访问字符串结尾的标记,\0
你数下标哈。下标是从0开始的0 A1 B2 C3 \0