ubuntu16.04编译c遇到警告

警告如下:
test1.c:7:12: warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 2 has type ‘int *’ [-Wformat=]
printf("%x %d",p,b);
#include
int main()
{
int a=100,b=200;
int *p;
p=&a;
printf("%x %d",p,b);
//printf("\n%d %d",&a,&b);
return 0;
}

2个回答

printf("%x %d",(unsigned int)p,b);

caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 回复qq_37377651: 你是x64系统?x64的指针是8bit的
大约一年之前 回复
qq_37377651
大河向东流啊 改了,但是又警告cast from pointer to integer of different size [-Wpointer-to-int-cast] printf("%x %d",(unsigned int)p,b);
大约一年之前 回复

printf("%x %d\n",*p,b);

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!