#include<stdio.h>
int main()
{
char* name[3] = { "wbc","fghi","wgabc"};
printf("%c\n", *(name[0] + 2));
printf("%c\n", *(name[0] + 3));
}
分析:name[0]是一个指针,指向了字符常量abc,name[0]的值就是abc的首字符a的地址,name[0]+2就是c的地址,以%c和printf函数结合,输出了c,但是name[0]+3输出应该是结束符\0才对,可是编译后发现,结果为a,为什么呢?