-2
:(處理的高度爲0正確\預期的退出代碼0,而不是輸出「\ n請輸入一個正整數VALU ......」check50錯誤信息:在我的Mario.c PSET1解決方案
:(拒絕的「」 \預期產出,而不是提示輸入一個非數字的高度
https://sandbox.cs50.net/checks/5593ad8059ce4492804c07aff8e377eb
我想我應該把我的代碼部分太:
#include <stdio.h>
int clean_stdin()
{
while (getchar()!='\n');
return 1;
} //snippet gotten from http://stackoverflow.com/questions/14104013/prevent-users-from-entering-wrong-data-types
int main (void)
{
int row, pyramid_height, space, hash;
char c;
do
{
printf("\n Please enter a positive integer value, less than 24 as the height: ");
}
while (((scanf("%i%c", &pyramid_height, &c) != 2 || c!='\n') && clean_stdin()) || pyramid_height < 1 || pyramid_height > 23);
//snippet gotten from http://stackoverflow.com/questions/14104013/prevent-users-from-entering-wrong-data-types
請幫忙:
另外,有沒有一種更簡單的方法來防止用戶輸入錯誤的數據? 謝謝。
謝謝!...我沒有for循環的問題。因特網是昂貴的,所以我使用離線編譯器Dev C++並且沒有使用cs50.h庫。不知道GetInt()函數是否有效。 –
如果解決了您的問題,您可以接受答案。 –
@AdeyomolaAdebayo同時檢查答案中的編輯。如果你不想使用cs50庫,你可以做到這一點。 –