为了账号安全,请及时绑定邮箱和手机立即绑定

如何在C中将char转换为整数?

如何在C中将char转换为整数?

C
杨__羊羊 2019-12-20 10:46:04
谁能告诉我如何将a转换char为int?char c[]={'1',':','3'};int i=int(c[0]);printf("%d",i);当我尝试时,它给出49。
查看完整描述

3 回答

?
噜噜哒

TA贡献1784条经验 获得超7个赞

在过去,当我们可以假设大多数计算机使用ASCII时,我们只会


int i = c[0] - '0';

但是在如今的Unicode中,这不是一个好主意。如果您的代码必须在非ASCII计算机上运行,这绝不是一个好主意。


编辑:尽管它看起来有点黑,但显然它是由标准保证的。谢谢@Earwicker。


查看完整回答
反对 回复 2019-12-20
?
有只小跳蛙

TA贡献1824条经验 获得超8个赞

标准功能atoi()可能会做您想要的。


一个使用“ atoi”的简单示例:


#include <unistd.h>


int main(int argc, char *argv[])

{

    int useconds = atoi(argv[1]); 

    usleep(useconds);

}


查看完整回答
反对 回复 2019-12-20
?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

实际上C标准确实可以保证这一点。第2.2.1段“在源和执行基本字符集中,上述十进制数字列表中的每个字符在0之后的值都应比前一个值大1。” 因此,您的答案在符合标准的C实现中完全正确。

查看完整回答
反对 回复 2019-12-20
  • 3 回答
  • 0 关注
  • 447 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信