首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

[初学者]达人帮小弟我看下这段C语言代码什么意思啊

2012-03-04 
[菜鸟求助]达人帮我看下这段C语言代码什么意思啊?main(){char*p abcdefgh ,*rlong*qq(long*)pq++r

[菜鸟求助]达人帮我看下这段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
}

热点排行