指针类型的问题

来源:百度知道 编辑:UC知道 时间:2024/09/25 22:16:57
#include <stdio.h>

void main()
{
int i=97;
char *p=(char*)&i;
p=p+3;
printf("%c\n",*p);
}

上段代码:假设int类型占4个字节,因为定义的是char类型的指针变量,p+1意味着移动一个字节,那么执行p=p+3时指针p应该指到了变量i的最后一个字节,输出时应该输出字符a才对,为什么编译时没有报错,但是执行时却什么也没有输出呢

#include <stdio.h>

void main()
{
int i=97;
char *p=(char*)&i;
//p=p+3;
printf("%c\n",*p);
}

差不多那个意思 但是低字节在前 高字节在后 所以...

编译报什么错?你没有语法错误嘛.朋友.自己反省吧.呵呵.