博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
atoi()函数及其实现
阅读量:6940 次
发布时间:2019-06-27

本文共 1232 字,大约阅读时间需要 4 分钟。

atoi()函数原型:int atoi(const char *nptr)

用法:#include <stdlib.h>
功能:将字符串转换成整型数;atoi()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负号才开始做转换,而再遇到非数字或字符串时('\0')才结束转化,并将结果返回。
说明:atoi()函数返回转换后的整型数。

用法如下:

#include
#include
int main() { char a[] = "-100"; char b[] = "456"; int c = 0; c = atoi(a) + atoi(b); printf("c = %d\n",c); }

atoi()函数的代码实现:

/** file_name:my_atoi.c * function:int my_atoi(char* pstr) */int my_atoi(char* pstr)  {      int Ret_Integer = 0;      int Integer_sign = 1;       if(pstr == NULL)             //判断指针是否为空      {          printf("Pointer is NULL\n");          return 0;      }        while(isspace(*pstr) == 0)  //跳过前面的空格字符     {          pstr++;      }       /*     * 判断正负号     * 如果是正号,指针指向下一个字符     * 如果是负号,把符号标记为Integer_sign置-1,然后再把指针指向下一个字符     */      if(*pstr == '-')      {          Integer_sign = -1;      }      if(*pstr == '-' || *pstr == '+')      {          pstr++;      }        /*     * 把数字字符串逐个转换成整数,并把最后转换好的整数赋给Ret_Integer     */      while(*pstr >= '0' && *pstr <= '9')      {          Ret_Integer = Ret_Integer * 10 + *pstr - '0';          pstr++;      }      Ret_Integer = Integer_sign * Ret_Integer;            return Ret_Integer;  }

 

转载地址:http://fdgjl.baihongyu.com/

你可能感兴趣的文章
解决:找不到或无法加载主类
查看>>
RFC2326(2) RSTP
查看>>
awk的基本使用方法
查看>>
geowebcache发布arcgislayer图层,并且修改行列号范围计算错误的bug
查看>>
阿里PB级Kubernetes日志平台建设实践
查看>>
lync2010 发布拓朴失败,错误提示:Access is denied, 0x80070005
查看>>
命令行设置NTFS权限
查看>>
装卡巴斯基时显示"360 safety guard"
查看>>
在Centos7上安装Rabbitmq 3.7
查看>>
一般群众也能好懂的云计算!太犀利了
查看>>
Linux服务管理工具
查看>>
生成树讲解——STP
查看>>
Ant开发之,使用Ant生成java api文档(javadoc)和zip压缩包
查看>>
Linux下基本操作笔记
查看>>
「自动化实战」手把手从python安装到setuptools、pip工具安装
查看>>
Thymeleaf 内置对象 之 获取web应用根路径
查看>>
骨干网中ISIS metric更改的几个问题
查看>>
ifconfig命令
查看>>
oracle——将指定用户下所有表的查询权限赋权给查询用户
查看>>
iOS react native 学习资料
查看>>