问题标题:
【解释一下这个程序是啥意思#include"stdio.h"main(){char*p="abcdefgh",*r;long*q;q=(long*)p;q++;r=(char*)q;printf("%sn",r);}】
问题描述:
解释一下这个程序是啥意思
#include"stdio.h"
main()
{
char*p="abcdefgh",*r;
long*q;
q=(long*)p;
q++;
r=(char*)q;
printf("%sn",r);
}
柴振明回答:
楼主要明白各变量所占空间大小
#include"stdio.h"
main()
{
char*p="abcdefgh",*r;//首先定义了char指针,p在这里占8个
//字节,r未知
long*q;//long型占4个字节
q=(long*)p;//语句q=(long*)p进行了转换赋值,q首地址指向a
q++;//注意变量类型空间,此时q首地址指向e
r=(char*)q;//赋值,r为efgh
printf("%sn",r);
}
点击显示
其它推荐