itoa()和atoi()函数

在学习itoa()和atoi()函数时遇到一点小问题

首先说下两者的用法:

  1. char *itoa(int value,char *string,int radix),其中 radix指定整数value的转换进制,可以取值为2、8、10、16,该函数实现的功能是将整数value转换成指定进制的字符串存入string。
  2. int atoi(char *nptr),该函数实现的功能是将字符串转换成整数;在转换过程中,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时(‘\0’)才结束转换,并将结果返回。

程序

#include<iostream>
#include<stdlib.h>   //标准库头文件
using namespace std;
int main()
{
    int number=12345;
    int a;
    char string[25];
    itoa(number,string,10); //整数转换成字符串
    cout<<"integer= "<<number<<endl;
    cout<<"string= "<<string<<endl;
    a=atoi(string);  //字符串传唤成整数
    cout<<"a= "<<a<<endl;   
    return 0;
}

程序结果

这里写图片描述

从上面可以看出整数经过itoa()转换,再经过atoi()转换的结果等于自身。

但是使用itoa()将整数转换成二进制形式的字符串后, 再使用atoi()转换成的整数却很奇怪,这是为什么??

这里写图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值