我想遍歷字符串以查看輸入是否是整數。對字符串輸入進行迭代
這是代碼:「無效的輸入」
for (int i = 1; i < strlen(buffer); i++) //Checking that each character of the string is numeric
{
if (!isdigit(buffer[i]))
{
valid = false;
break;
}
}
if(valid == false)
{
printf("Invalid input!");
}
else
{
num = atoi(buffer);
printf("The number entered is %d", num);
}
的問題是,即使輸入是正確的,我們可以說2,輸出消息還在。
我現在非常沮喪。
1)它不是一個字母 2)它是一個整數
請幫助:我已經使用的atoi功能,strtol函數等方法,這樣我可以驗證數字,並確保試我。我一直試圖解決這個問題超過2個小時。
您需要發佈您的代碼ISDIGIT的 – 75inchpianist 2013-03-05 18:05:48
是ISDIGIT由文件ctype.h庫提供了一種方法。我沒有自己創建它 – Matthew 2013-03-05 18:07:09
這顯然是**不** *太本地化*。代碼片段很明顯,但輸出卻是意想不到的。 – Lion 2013-03-05 18:11:22