[英]Requesting int input, how to guard against char?
我要求輸入int,然后檢查它是否等於正確的答案,但是如何防止用戶輸入字符?
int main()
{
int response;
int answer;
scanf("%f", &response);
if(response == answer)
{
//Correct!
}
else
{
//Incorrect!
}
}
scanf(3)給出您應該使用的結果(成功讀取項目的計數)。 而且您的%f
不正確,因此您應該編寫代碼
if (scanf(" %d", &response)==1) {
/// did got some response
}
我考慮了好評論的喬納森·萊弗勒在Soumya Koumar的答案 ...
您將必須使用%d
從輸入掃描int 。
根據scanf
定義,如果成功則返回掃描的項目數,如果匹配失敗則返回0。 因此,如果在標准輸入中輸入char而不是整數 ,則它將返回0作為返回值。
您可以執行以下操作:
if (scanf(....) == 0) {
/* error */
} else {
/* do my work */
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.