【发布时间】:2015-12-30 18:12:46
【问题描述】:
当我编译以下代码时,Visual Studio 显示 C4477 警告。为什么 Visual Studio 会生成此警告?以及如何修复此代码?
警告:警告 C4477:“printf”:格式字符串“%d”需要“int”类型的参数,但可变参数 1 的类型为“int *”
#include <stdio.h>
int main(void) {
int num = 0;
int *pi = #
printf("Address of num: %d Value: %d\n", &num, num);
printf("Address of pi: %d Value: %d\n", &pi, pi);
return 0x0;
}
【问题讨论】:
-
%d需要一个int参数。要打印指针,请使用%p。请阅读printf的手册页或搜索“printf 格式字符串”!
标签: c visual-studio-2012 warnings