[英]Program crashes when trying to read numbers with scanf
當我運行此代碼時,會出現這樣的消息。 Project.exe 已停止工作
我的其他一些代碼有效,但這似乎給我帶來了錯誤。
#include<stdio.h>
#include<conio.h>
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
流中剩余的無關輸入。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.