我想在爲了使用以後計算使用scanf()
一個int閱讀,但我試圖把它丟棄INT後什麼。,而忽略其他任何
基本上我希望能夠提示用戶回答,因爲
什麼是3 + 5這樣的問題?
,併爲用戶能夠輸入8個或8狗或性質的任何東西,同等對待。我嘗試過使用scanf("%*[^\n]\n");
,但是這會導致其他提示 無法正確顯示,導致程序中的其他問題。我還應該知道,在其他計算中需要讀取的值(在這種情況下爲8),並且我需要刪除狗部分,因爲它會在程序中稍後導致問題。
示例代碼,以澄清意見
printf("What is %d %c %d ", a, oper, b);
fgets(line, sizeof(line), stdin);
errno = 0;
num = strtol(line, NULL, 10);
if (num == answer)
{
printf("Correct!");
right++;
}
else
{
printf("Wrong!");
}
printf("\n");
if (errno != 0)
{
printf("Invalid input, it must be just a number \n");
}
基本上這部分牌號用戶輸入
:
這應該這樣做。 – Olaf
爲什麼在使用'fgets()'時使用'scanf()'好得多? – chux
使用它只有一次的問題是,在int之後的狗或任何垃圾仍然保留在標準輸入中,並擰緊下一個提示信息 – tacoofdoomk