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

时间:2014-01-31 14:00:17

标签: 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中构建上述代码时,它会出现以下错误:

错误C4700:未初始化的局部变量'num'用过?? 这是什么原因??

1 个答案:

答案 0 :(得分:5)

你忘记了&amp;:

scanf_s("%d", &num);

scanf期望一个指针,所以它正在读取num的值以找到写入用户输入的地址(并且num没有被初始化,这就是编译器发出警告的原因)。但你真正的意思是num本身的地址。