c - 如何将表示数字的 char 字符转换为 int 中的相同数字?

标签 c

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

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 值用 引号括起来,而多字符字符串则用 引号括起来。

关于c - 如何将表示数字的 char 字符转换为 int 中的相同数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10627905/

相关文章:

c - 获取 linux/bin/ss 工具的源代码

C、结构指针多态

c++ - Cmake可以生成一个同时支持调试和发布的makefile吗

c - 当线程在外部终止时 NetServerEnum block

c - 识别环绕号码

比较c中的版本号

c - LLVMCreateDisasm 返回 NULL

c - 我的程序哪里出错了? (按年龄排序)

c - 使用 C 代码的排列函数

c - 使用 fork 创建的新进程,但为变量打印相同的地址