0
我在比较C中的一个int值和一个char值时出现问题。让我说我的变量int value1是0和一个值为'0'的char。我知道char的值实际上是一个ascii数字,'0'是48,但是如何将int的0值与字符'0'的值进行比较,以if语句为例?在C中比较值的问题
我在比较C中的一个int值和一个char值时出现问题。让我说我的变量int value1是0和一个值为'0'的char。我知道char的值实际上是一个ascii数字,'0'是48,但是如何将int的0值与字符'0'的值进行比较,以if语句为例?在C中比较值的问题
您可以使用成语c - '0'
将char
c
转换为等效数字。
这是int
类型的表达式。
请注意,它适用于由C标准支持的编码为的任何字符,因为这样的编码必须连续排序0至9。 “
”实际上是一个ascii号码“ - 不一定。 – Bathsheba
'if(int_value == char_value - '0')' – BLUEPIXY
您还应该输出结果(int)(char_value - '0'),否则编译器将发出警告。 – SPlatten