我寫了一個C程序,其中我接受來自用戶的數字輸入。但是,如果用戶輸入一個字符,那麼我必須表明它是一個無效的輸入,並讓用戶再次輸入一個數字。我如何實現這一目標?我在Ubuntu中使用gcc編譯器編寫程序。 Google上的搜索結果建議使用isalpha
函數...但是,它在我猜的庫中不可用。測試輸入是否爲數字
我也嘗試了下面......
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
void main()
{
system("clear");
if (isdigit(1))
printf("this is an alphabet\n");
else
printf("this is not an alphabet\n");
}
發佈你的程序,告訴我們你已經嘗試過了。 – JAL 2014-11-08 03:17:47
請注意'isdigit()'檢查數字,而不是字母字符。值「1」與「1」不同。後者是根據'isdigit()'的數字,但前者不是。值'1'相當於control-A,它是一個控制字符,而不是一個數字。請注意,在Unix系統上,'void main()'是無條件錯誤的。您可以在Windows上使用'void main()'作爲Microsoft擴展。 – 2014-11-08 03:19:52
您應該查看'scanf'的不同格式說明符,如果您使用正確的數字,則假設您正在計劃使用'scanf',那麼檢查某個數字是否會非常簡單。 – IllusiveBrian 2014-11-08 03:20:10