我想弄清楚如何转换一个字符数,比如说
char num = "1";
与整数相同的数字,所以
char num = "1"; would be converted to int numc = "1";
我能想到的唯一方法是手动执行一堆 if 语句,这似乎有点过分,所以我只是想知道是否有人知道更简单的方法来做到这一点?谢谢!
我想弄清楚如何转换一个字符数,比如说
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';