我知道要将任何给定的char转换为int,这个代码是可能的[除了atoi()]:
int i = '2' - '0';
Run Code Online (Sandbox Code Playgroud)
但是我从来没有理解它是如何工作的,'0'的意义是什么,我似乎没有在网上找到任何解释.
提前致谢!!
在C中,字符文字具有类型int.[ Character Literals/IBM ]
在您的示例中,数值'0'为48,数值'2'为50.当'2' - '0'您得到时50 - 48 = 2.这适用于从0到9的ASCII数字.
请参阅ASCII表以获得更好的图片.
编辑:感谢@ouah进行更正.