2017-09-27 44 views
0

我在比较C中的一个int值和一个char值时出现问题。让我说我的变量int value1是0和一个值为'0'的char。我知道char的值实际上是一个ascii数字,'0'是48,但是如何将int的0值与字符'0'的值进行比较,以if语句为例?在C中比较值的问题

+0

”实际上是一个ascii号码“ - 不一定。 – Bathsheba

+0

'if(int_value == char_value - '0')' – BLUEPIXY

+0

您还应该输出结果(int)(char_value - '0'),否则编译器将发出警告。 – SPlatten

回答

2

您可以使用成语c - '0'charc转换为等效数字。

这是int类型的表达式。

请注意,它适用于由C标准支持的编码为的任何字符,因为这样的编码必须连续排序0至9。 “