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

The*_*Spy 0 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;
}
Run Code Online (Sandbox Code Playgroud)

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

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

fed*_*024 5

你忘记了&:

scanf_s("%d", &num);
Run Code Online (Sandbox Code Playgroud)

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