c - 使用未初始化的局部变量 'num'?

标签 c visual-studio-2013

<分区>

#include<stdio.h>
#include<conio.h>

int main()
{
    int num;
    printf("Enter your number \n");
    scanf_s("%d", num);
    printf("Your number is %d", num);
    _getch();
    return 0;
}

当我在 VS2013 中构建上述代码时,出现以下错误:

error C4700: 使用了未初始化的局部变量 'num' ?? 这是什么原因??

最佳答案

你忘记了 &:

scanf_s("%d", &num);

scanf 需要一个指针,所以它读取 num 的值来找到写入用户输入的地址(并且 num 没有被初始化,这就是为什么编译器提出警告)。但你真正的意思是 num 本身的地址。

关于c - 使用未初始化的局部变量 'num'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21481896/

相关文章:

c - i=i+1 是未定义的行为吗?

c - 使用 malloc 后无法复制数组

powershell 如果命令未被识别为 cmdlet 的名称

c# - 为什么不自动调用 TestInitialize?

mysql - 缺少模板中的 Visual Studio 2013 数据库

Cygwin:types.h 中 "loff_t"之前的解析错误

c - 为什么我的随机数生成器不打印任何 1?

ios - 如何将 __autoreleasing 地址保留为类中的强属性?

javascript - 指定 TypeScript 输出文件名格式

entity-framework - 抑制 EF 警告的正确方法是什么?