我的代码出了什么问题?
#include<stdio.h>
int main(void){
int a;
int *p;
p=&a;
printf("%d\n",p);
}
答案 0 :(得分:2)
%d
中的 printf()
格式说明符需要int
个参数。在您的代码中,您传递的是int *
。你需要
int
类型,如果要打印存储在指针所指向的内存位置的值。%p
格式说明符并将参数强制转换为void *
。它调用undefined behavior将错误类型的参数传递给任何格式说明符。