q是1751606885
p是16842344849
如果我改成这样
#include <iostream.h>
int main()
{
char *p="ab",*r;
int *q;
q=(int *)p;
q++;
r=(char *)q;
cout<<*q<<endl; //q是0
cout<<*(int *)p<<endl; //p是25185
cout<<r<<endl; //r则是空格
return 0;
}
再改成这样
#include <iostream.h>
int main()
{
char *p="a",*r;
int *q;
q=(int *)p;
q++;
r=(char *)q;
cout<<*q<<endl; //q是0
cout<<*(int *)p<<endl; //p是97
cout<<r<<endl; //r则是空格
return 0;
}
这两次p的值有什么联系?