【发布时间】:2021-06-22 23:58:16
【问题描述】:
当我在 GCC 编译器中编译这个简单的程序时,我收到了这个错误:- 警告:格式“%u”需要“unsigned int”类型的参数,但参数 2 的类型为“int”[-Wformat=]*
#include <stdio.h>
int main()
{
printf("Pointer\n");
printf("*******\n\n");
int i=3;
printf("Address of Variable i : %u",&i);
printf("Value stored in Variable i : %d\n",i);
printf("Value stored in Variable i : %d\n",*(&i));
return 0;
}
【问题讨论】:
-
使用 %p 打印指针。
-
我得到这种地址:- 变量 i 的地址:0x7ffc836a8534
-
我想要整数类型的地址
-
嗯,十六进制对于指针来说是常规的。这有点像 hack,但您可能会强制转换为 unsigned long 并使用 %lu 打印
标签: c++ gcc-warning