如何将表示数字的char字符转换为int中的相同数字?
我想弄清楚如何转换一个字母数字
char num = "1";
与整数相同的数字
char num = "1"; would be converted to int numc = "1";
而我能想到的唯一方法是手动执行一堆if语句,这看起来有点过分,所以我只是想知道是否有人知道更简单的方法吗? 谢谢!
在C中,字符实际上只是表示其字符值的数字,因此:
char ch = '1'; int num = ch - '0'; printf("ch=%c num=%d\n", ch, num);
这利用了以下事实:在所有公共字符集中,顺序地分配字符值'0'
到'9'
。
另请注意, char
值由单引号括起,而多字符字符串由双引号括起。
快速解决问题的方法是从数字的值中减去“0”,如下所示:
char num = '2'; int i = num - '0';