回答
你要使用isalpha()
和isdigit()
標準功能<ctype.h>
。
char c = 'a'; // or whatever
if (isalpha(c)) {
puts("it's a letter");
} else if (isdigit(c)) {
puts("it's a digit");
} else {
puts("something else?");
}
這些都沒有任何用處。使用標準庫中的isalpha()
或isdigit()
。他們在<ctype.h>
。
如果(theChar >= '0' && theChar <='9')
這是一個數字。你明白了。
<ctype.h>
包括一系列用於確定功能是否char
代表一個字母或一個數字,如isalpha
,isdigit
和isalnum
。
int a = (int)theChar
不會做你想做的事情的原因是因爲a
只會保存代表特定字符的整數值。例如,對於'9'
的ASCII號碼是57,而對於'a'
它的97
也爲ASCII:
- 數字 -
if (theChar >= '0' && theChar <= '9')
- 字母 -
if (theChar >= 'A' && theChar <= 'Z' || theChar >= 'a' && theChar <= 'z')
看看一個ASCII table自己看看。
字符都只是整數,所以你實際上可以做你的性格對文字直比較:
if(c >= '0' && c <= '9'){
這適用於所有字符。 See your ascii table。
ctype.h還提供了爲您做這個功能。
這是正確的,但不能因爲ASCII得到保證,而且因爲數字的連續性的:http://stackoverflow.com/a/35936519/ 895245 – 2016-03-11 09:33:03
您可以正常查看使用簡單的條件
if((ch>='a' && ch<='z') || (ch>='A' && ch<='Z))
{
/*This is an alphabet*/
}
對於數字字母或數字,你可以使用
if(ch>='0' && ch<='9')
{
/*It is a digit*/
}
但由於用C字符ASCII values在內部處理,您還可以使用ASCII值檢查相同。
上C99標準c >= '0' && c <= '9'
c >= '0' && c <= '9'
(提到in another answer)的作品,因爲C99 N1256 standard draft 5.2.1 「字符集」 說:
在源和執行基本特徵都在上面的十進制數字列表中,0之後的每個字符的值應該大於以前的價值。
ASCII但是不一定。
- 1. WIndows 10 UWP - 如何確定按鍵是字母還是數字?
- 2. 如何確定密鑰是字母還是數字?
- 3. 使用char確定字母數字?
- 4. 我可以確定一個KeyEventArg是一個字母還是數字?
- 5. 確定是否char值是字符
- 6. Id字段應該只是數字還是包含字母?
- 7. 如何檢查字符是字母還是數字?
- 8. 檢查char是否是大寫字母
- 9. 確定字符串是日期還是數字
- 10. 確定是按鍵是Windows運行時的字母數字
- 11. 檢查一個字符是整數還是字母
- 12. 測試輸入是字母數字還是不使用JasmineJS
- 13. 熊貓:確定一個條目中的第一個字符是字母還是數字
- 14. 確定對象是數組還是字符串
- 15. char **應該是malloc大小(char *)還是char *字符串長度的大小?
- 16. 查找字符是字母還是解析和整數是否更快?
- 17. 檢查字符串是拉丁字母還是西里爾文
- 18. PHP preg_match前面還是沒有字母?
- 19. 確定輸入是數字還是字符串,然後將其打印回來
- 20. 正則表達式:確定一個字符串是數字還是變量
- 21. 如何確定DataColumn的類型是數字,字符串還是日期時間?
- 22. MySQL:如何檢查提供的值是數字/整數還是字母?
- 23. 如何確定一個字符串是否包含非字母數字字符?
- 24. 如何找出QString中的特定字符是字母還是標點符號?
- 25. Java確定字符串中的每個字符是否是字母
- 26. 確定參數是類還是協議
- 27. fscanf C - 確定字母代替數字
- 28. 如何檢查文本框中輸入的文本是字母還是數字
- 29. 創建一個確定數字是奇數還是偶數的應用程序
- 30. 是不是字符串[Char]?
爲「0」 <= X <校驗=「9」是所有符合標準的實現正確的(ASCII或不是不敬)。 C要求十進制數字具有連續的表示形式。至於信件,所有投注都關閉。 – Wiz 2015-01-22 00:50:03
@很好! C99 5.2.1:http://stackoverflow.com/a/35936519/895245 – 2016-03-11 09:33:33