尝试使用scanf读取数字时程序崩溃

当我运行此代码时,会出现这样的消息。 Project.exe已停止工作

我的一些其他代码可以工作,但这似乎给我一个错误。

在此处输入图像描述

#include #include void main() { int n1, n2, sum; puts("first number"); scanf("%d", n1); fflush(stdin); puts("second number"); scanf("%d", n2); sum = n1 + n2; printf("%d + %d = %d", n1, n2, sum); getch(); } 

我基本上想要添加两个数字。

scanf获取存储输入值的变量的地址。 您需要将scanf调用更改为

 scanf("%d", &n1); scanf("%d", &n2); // ^ note the & operator 

另请注意,在输入流上调用fflush是未定义的行为。 所以, fflush(stdin)不正确。 您需要手动读取并丢弃stdin流中遗留的无关输入。