如何将字符 '5' 转换为整数 '5' 在 C 语言中?

157 浏览
0 Comments

如何将字符 '5' 转换为整数 '5' 在 C 语言中?

我正在开发一个程序,需要从字符串中提取一个整数,然后将其加到其他整数中。例如,输入字符串"123456789",我可以提取出第5个字符'5',但我需要将其加到另一个整数上。如果我试图将其转换为整数,它会返回ASCII值。有没有办法将一个字符转换为对应的整数?

0
0 Comments

在C语言中,将字符'5'转换为整数5的方法是通过减去字符'0'的ASCII值。例如,'5' - '0' = 5。需要注意的是,这个方法在EBCDIC编码中也适用。

感谢评论中的提问,如果使用ASCII会发生什么?

实际上,这个方法同样适用于ASCII编码。但是丹尼尔指出,在EBCDIC编码中,一些类似的技巧(例如,'f'-'a'==5)并不适用。特别是这个例子在EBCDIC编码中是适用的,分割点在'i'和'j'之间以及'r'和's'之间(是的,我查了一下,你为什么问呢?)。

谢谢。我之前提到的是一般情况,并没有查过资料,而且出于某种原因,我认为分割点会更多。

因此,将字符'5'转换为整数5的解决方法是通过减去字符'0'的ASCII值。无论是在ASCII编码还是EBCDIC编码中,都能正确地将字符转换为相应的整数。

0