读书人

这道题为什么是这个答案?(不解~),该

发布时间: 2012-02-23 22:01:34 作者: rapoo

这道题为什么是这个答案?(不解~~!)
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

读书人网 >C语言

热点推荐