首页 > 解决方案 > C程序中的变量在Visual Studio中表现得很奇怪

问题描述

我使用以下代码创建了一个测试项目来检查问题:

#include <stdio.h>
#include <math.h>

    int main(void) {
    int a;
    scanf_s("%d", &a);
    printf("%d", &a);
}

我输入 1,它给了我这样的 7 位随机数

还有这个

有人可以帮忙吗

标签: cvisual-studio-2019

解决方案


函数族scanf需要地址,因为它写入这些地址以填充变量。

由于printf家庭只需要(尽管对于 C 字符串,这是同一件事),您应该摆脱&运算符:

printf("%d", a);

否则,您将尝试打印该变量的地址而不是值。


推荐阅读