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);
}
答案什么,为什么?
最后那个0是字符串结束符。
i=8,p=a + i,也就是a + 8,于是p - 3就相当于&a[5],使用"%s"打印也就是从下标为5的那个字符开始,知道字符串结束符结束,当然是6789了。
6789。
p=a+i; //p指向a[0+i]即a[8]
printf("%s\n",p-3); //p-3即为&a[5],故从6开始到9为止