簡體   English   中英

嘗試使用 scanf 讀取數字時程序崩潰

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM