读书人

[初学者]达人帮小弟我看下这段C语言代

发布时间: 2012-03-04 11:13:33 作者: rapoo

[菜鸟求助]达人帮我看下这段C语言代码什么意思啊?
main()
{
char *p= "abcdefgh ",*r;
long *q;
q=(long *)p;
q++;
r=(char *)q;
printf( "%s\n ",r);
}

运行结果:efgh

从q=(long *)p;这句开始,就看不懂了。这是啥意思啊?

达人请指教!谢谢!

[解决办法]
main()
{
char *p= "abcdefgh ",*r;
long *q;
q=(long *)p; //这里将p强制转换为指向long类型的指针,并将指针赋给q
//long类型是4个字节
q++; //q指向e
r=(char *)q; //把q强制转换为指向char类型的指针,并将指针赋给r
//char是1个字节,r指向e
printf( "%s\n ",r);//输出efgh
}

读书人网 >C语言

热点推荐