一个C语言题,大家帮看看~

来源:百度知道 编辑:UC知道 时间:2024/05/17 03:58:19
#include<stdio.h>
main()
{
float *p,u;
p=&u;
*p=18.5;
printf("%d\n",sizeof(p));
}
大家帮看一下为什么得2啊?
我实在TurboC++3.0环境下运行的结果为2.

sizeof是求字节的函数,指针占两个字节,所以有sizeof(p)=2
输出当然是2了

#include<stdio.h>
main( )
{
float *p,u;
p=&u;
*p=18.5;
printf("%d\n",sizeof(p));
}
我运行了结果是4

我VC2008输出还是4了~~~

因为是指针,指针占两字节

指针代表的是地址,而其中的地址是两个字节的!