狂郁闷,如何将字符(0-9)转换成数字(0~9)?

normalnotebook 2006-03-26 01:13:01
今天狂郁闷,很久没有写过程序了。昨天考编程题,在我的算法中,其中有一步,要将字符(0-9)转换成数字(0~9),开始我用atoi()转换,总是出错。查MSDN,才知道该函数是用来将字符串转换成数字的,为了尽快将程序写完。用了一个最笨的方法,搞了一个
if(c=='1')
return 1;
else if(c =='2')
return 2;
......

我记得是有一个函数可以直接转换的,请问是怎么函数?

顺便再问一个,要将10进制转换成2进制,16进制,是一个什么函数?我以前读书的时候,经常在CSDN逛,曾经回答过这个问题,有一个函数可以直接完成,但现在就是想不起来了。
...全文
550 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
popoxx 2006-03-27
  • 打赏
  • 举报
回复
用减'0'是最快最方便的,用atoi效率不高,而且它是转字符串的,对字符还有多一步处理
Youthllen 2006-03-26
  • 打赏
  • 举报
回复
return (c - '0');
houdy 2006-03-26
  • 打赏
  • 举报
回复
char c = '5';
const char c0 = '0';
int i = c - c0;
qlnaaa 2006-03-26
  • 打赏
  • 举报
回复
atoi(),头文件stdlib.h,函数原型int atoi(char *str)。

转换进制的那个我也没找到,呵呵
qlnaaa 2006-03-26
  • 打赏
  • 举报
回复
查一下ASCII码表,找到字符和数字的数值是多少,然后做加减法就行了。
FengYuanMSFT 2006-03-26
  • 打赏
  • 举报
回复
int chartoi(char c)
{
return (int) c - (int) '0';
}

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧