请教大家一个C中指针的问题~~

来源:百度知道 编辑:UC知道 时间:2024/06/08 03:59:19
main()
{
int x=10,* p;
float y=234.5,* pf;
p=&x;
pf=&y;
printf("x=%d,y=%f\n",x,y);
printf("p=%u,pf=%u\n",p,pf);/*%u是什么意思,还有%lu是什么意思?*/
}
输出结果为什么会是:x=10,y=234.500000
p=10302,pf=10308
请高手们给我解释解释..万分感谢~~

%u格式符用来输出unsigned型数据,即无符号数,以十进制形式输出。
%lu即长整型无符号数输出格式符。
因为p和pf都是指针变量,只接受地址,所以printf("p=%u,pf=%u\n",p,pf);这句话输出的是p和pf指向的首地址,内存地址均为无符号数。