趣头条自媒体平台官网:以下程序的输出结果是什么?为什么?

来源:百度文库 编辑:高校问答 时间:2024/04/29 19:59:57
main()
{
char a[10]={'1','2','3','4','5','6','7','8','9','0'},*p;
int i;
i=8;
p=a+i;
printf("%s\n",p-3);
}

屏幕显示6789
首先,p=a+8,即p作为一个指针,首先指向a的第一个字符地址,+8后,向后偏移8位,指向'9',在printf中,p-3则向后偏移3位,指向'6'
然后,'0'是不能显示的,因为每个字符串,'0'是结束符,是空的意思。

67890
就是来回传字符串的地址