1

我想弄清楚如何转换一个字符数,比如说

char num = "1";

与整数相同的数字,所以

char num = "1"; would be converted to int numc = "1";

我能想到的唯一方法是手动执行一堆 if 语句,这似乎有点过分,所以我只是想知道是否有人知道更简单的方法来做到这一点?谢谢!

4

2 回答 2

5

在 C 中,字符实际上只是表示其字符值的数字,因此:

char ch = '1';
int num = ch - '0';

printf("ch=%c num=%d\n", ch, num);

这利用了这样一个事实,即在所有常见的字符集中,字符值都是按顺序分配的'0''9'

还要注意,char值用引号括起来,而多字符串用引号括起来。

于 2012-05-16T23:02:10.670 回答
1

解决您的问题的一个快速方法是从您的数字值中减去“0”,如下所示:

char num = '2';

int i = num - '0';
于 2012-05-16T23:02:19.710 回答