c - C程序中的变量在Visual Studio中表现得很奇怪
问题描述
我使用以下代码创建了一个测试项目来检查问题:
#include <stdio.h>
#include <math.h>
int main(void) {
int a;
scanf_s("%d", &a);
printf("%d", &a);
}
我输入 1,它给了我这样的 7 位随机数
还有这个
有人可以帮忙吗
解决方案
函数族scanf
需要地址,因为它写入这些地址以填充变量。
由于printf
家庭只需要值(尽管对于 C 字符串,这是同一件事),您应该摆脱&
运算符:
printf("%d", a);
否则,您将尝试打印该变量的地址而不是值。