我想知道,如果有一个命令,找到它是在变量中的类型,如果它是一个char或int。 例如,要创建一个程序,如果输入的内容不是数字,则会向用户显示错误,因为我在scanf中使用了一个int变量,但如果用户键入一个字符,程序将继续,I想要停止,当键入一个字符型字符如何区分int的char?
回答
尝试使用isdigit(int c)。它返回一个非零值,如果c在一个数字中,否则il resturs 0.欲了解更多信息,请输入'man isdigit'
我已经搜索过这个函数,但是当我测试时,有错误,我现在搜索更多,并从我的理解,必须使用char这个函数,而不是int ,这是我使用 –
不,@MorpheusCurriculumVitæ,你必须使用一个存储'unsigned char'值或'EOF'的int。我早些时候写了关于手册的文章?你可以[在这里找到来自OpenGroup标准的'isdigit'手册](http://pubs.opengroup.org/onlinepubs/9699919799/functions/isdigit.html)。它说,并且我引用:“* c *参数是一个** int **,应用程序应确保该值是一个可表示为** unsigned char **的字符或等于宏EOF的值。如果参数有任何其他值,则行为是不确定的。“重点不是我的。 – Sebivor
@ddannel请参阅上述评论以抗议您的句子*“如果数字中有c,则返回一个非零值,否则il会恢复0。”* – Sebivor
- 1. 如何在使用scanf和'%d'时区分int和char
- 2. char *和int *的区别是什么?C++ char * vs int *
- 3. int char *和内存分配
- 4. C#中char和int之间的区别#
- 5. PHP的is_bool如何区分INT和BOOL?
- 6. int和char数组有什么区别?
- 7. int是从char分配的吗?
- 8. 转换类型为int(C :: *)(INT,CHAR)为int类型(INT,CHAR)
- 9. 区分int和double
- 10. 如何设置char []的大小int
- 11. 如何从字典<char,Tuple <int, char>>特定键的int值?
- 12. strtok和int vs char char C
- 13. Char到Int的C++?
- 14. 如何将char/int添加到C中的char数组?
- 15. 检查Char/Int
- 16. compare int with char
- 17. CHAR(5)与INT
- 18. C++:可以为int分配一个char *?
- 19. fstream get(char *,int)如何操作空行?
- 20. 如何将int转换为signed char?
- 21. 如何在Scala中输入Char/Int?
- 22. 如何将long int转换为char
- 23. 如何将char转换为int?
- 24. 如何把2 char数组放在int putenv(char * string);用C
- 25. INT转换为char
- 26. const char * to int cast?
- 27. char *指向一个int值,如何获取int值?
- 28. 如何清除(char *)中的缓冲区?
- 29. 转换的char []到INT []
- 30. 数组的Int和* Char - C++
您是否使用过您的问题? –
可能的重复https://stackoverflow.com/questions/1478932/check-if-user-inputs-a-letter-or-number-in-c –
@KickButtowski是的,我搜查了,但是,我没有找到我想要的方式 –