这道题为什么是这个答案?(不解~~!)
void main()
{char *p= "abcdefgh ",*r;
long *q;
q=(long *)p;
q++;
r=(char *)q;
printf( "%s\n ",r);
}
答案:efgh。
为什么呀?并且其中第五句 q++; 这个语句在这里有什么作用?如果没有会怎么样?谢谢解答~~~
[解决办法]
char 1个字节 long 4个字节
q++就把地址后移了4个字节
若没有,则输出 abcdefgh