簡體   English   中英

在C中用空格分隔scanf輸入

[英]Separate scanf input with space in C

我嘗試輸入一系列數字,每個數字用空格分隔。 一旦給出0該系列數字必須停止輸入。

我用for循環做這個。 如果我用\\n分隔每個數字,它在我給出0作為數字后確實停止讀取輸入。

但是,如果我用空格分隔每個數字,那么在給出0后沒有任何反應。 它只是繼續閱讀輸入。

我試圖找到答案,如果解決方案很明顯,我很抱歉。 我剛開始用C,請耐心等待..

int main(int argc, char **argv){

    int ar[1000];
    int i;

    printf("Give a series of numbers, separated by space. Stop reading when `input is 0.\n --> : ");`

    for (i = 0; i < SIZE ; i++){
        scanf("%d", &ar[i]);
        if (ar[i] == 0){break;}
    }

   return 0;
}

默認情況下,大多數命令行終端只會在完成整行輸入后向正在運行的程序發送輸入。 這是為了讓您有機會使用退格鍵修復拼寫錯誤。

一個簡單的解決方案是,不是手動輸入輸入,而是將其放在文本文件中並使用文件輸入重定向( < )。 此輸入重定向語法適用於Linux和Windows shell。

myProgram.exe < myInput.txt

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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