C语言中把字符串转成整形

    在C语言中的字符串都是以ASCII码的形式存放的。如数字‘1’在ASCII中存放的就是49.
char i=9;
int a;
a=i;

    上个例子中,你以为a得到的结果会是10,但是你运行一下发现其实这个时候i给a赋的值是 ‘59’。这时候想要得到你想要的数,也就是9方法有很多。

    一、用int atoi(const char *)它会返回给你一个整数值。但是注意这个的头文件是在"#include<stdlib>"中的。

               如 atoi('1234') ;//它会给你返回一个整形1234

    二、因为整数型在ASCII码表中是线性排列的,及从48到57 对应着是 0到9;

char i=9;
int a;
a=i-48;
    我们在最后赋值时候加一个“-48”就可以得到单个整形数字。如果是在char 类型的数组中存放的,那么用把他们用十进制拼凑即可:
char a[]='1234';
int b,i;
b=a[0]-48;
for(i=1;i<4;i++)
  b=b*10+a[i]-48;
printf("%d",b);

    上述写法也就可以自己写一个 atoi函数出来。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值