atoi函数

原型: int atoi(const char *pstr)

用法:将字符串转换成整型数;atoi()会扫描参数sptr字符串,跳过前面的空格字符,直到遇到数字或正负号才开始做转换,而再遇到非数字或字符串时('\0')才结束转换,并将结果返回。

程序代码:

int my_atoi(char* pstr){

int ret_interger = 0;//返回值

int interger_sign = 1; //标志符号

//判断指针是否为空

if(pstr == NULL){

printf("空指针\n");

return 0;

}

//跳过前面的空格字符

while(*pstr == ' '){

pstr++;

}

//判断正负号

if(*pstr == '-'){

interger_sign = -1;

}

if(*pstr == '-'|| *pstr == '+'){

pstr++;

}

//把数字字符转换成整数,并把最后的整数赋值给ret_interger

while(*pstr>='0'&&*pstr<='9'){

ret_interger = ret_interger*10+*pstr - '0';

pstr++;

}

ret_interger = ret_interger*interger_sign;

return ret_interger;

}

主函数:

int main(){

char a[] = " -100";;

char b[] = " 360";

int c;

c = my_atoi(a)+ my_atoi(b);

printf("a:%d\n",my_atoi(a));

printf("b:%d\n",my_atoi(b));

printf("except :260 actual: %d \n",c);

}

检测结果:

c语言中atoi实现原理,atoi 函数的实现-----C语言相关推荐

  1. c语言 strcpy原型,浅谈C语言中strcpy,strcmp,strlen,strcat函数原型

    实例如下: //strcat(dest,src)把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0' char *strcat(char * strDest, cons ...

  2. C语言中的rename()和remove()函数的使用及注意点

    C语言中的rename()和remove()函数的使用及注意点 C语言中rename() 和remove()函数属于文件处理函数,其中rename() 对文件或目录进行移动和删除. int ret = ...

  3. C语言中的malloc与free函数

    C语言中的malloc与free函数 malloc函数的作用是在堆中开辟一块指定大小的空间.如果开辟成功,返回空间首个字节地址,失败则返回NULL. free函数能够释放在堆中开辟的内存空间,传入一个 ...

  4. c语言中不正确的浮点型常量,c语言中float a=1;对吗?,c语言的问题。float a=1,*b=a,*c=...

    导航:网站首页 > c语言中float a=1:对吗?,c语言的问题.float a=1,*b=&a,*c= c语言中float a=1:对吗?-,c语言的问题.float a=1,*b ...

  5. c语言中open的原理,C语言中open函数

    语法Open ( windowvar, windowtype {, parent } ) 参数windowvar:指定窗口变量名,Open()函数把打开窗口的引用放置到该变量中windowtype:s ...

  6. 关于C语言中的malloc和free函数的用法

    一.malloc()和free()的基本概念以及基本用法: 1.函数原型及说明: void *malloc(long NumBytes):该函数分配了NumBytes个字节,并返回了指向这块内存的指针 ...

  7. c++freopen函数_使用示例的C语言中的freopen()函数

    c++freopen函数 C语言中的freopen()函数 (freopen() function in C) Prototype: 原型: FILE* freopen(const char *str ...

  8. putc函数_C语言中的putc()函数与示例

    putc函数 C语言中的putc()函数 (putc() function in C) The putc() function is defined in the <stdio.h> he ...

  9. c语言中的printf函数_C语言中的printf()函数与示例

    c语言中的printf函数 C语言中的printf()函数 (printf() function in C) The printf() function is defined in the <s ...

  10. c语言中rewind函数_C语言中的rewind()函数与示例

    c语言中rewind函数 C中的rewind()函数 (rewind() function in C) The rewind() function is defined in the <stdi ...

最新文章

  1. opencv滤波美颜
  2. python 断点下载_python多进程断点续传分片下载器
  3. 05-JDBC学习手册:JDBC2.0 新特性之批量处理数据
  4. 缓存redis的整合
  5. 使用gogit 设置 http 以及 ssh 协议
  6. 涨知识 | 100个中国最难读的地名,第一个就折了
  7. python中哪里用到缩进_建筑防火中各类门的总结归纳!乙级门?甲级门?都哪里用到了!...
  8. 链表应用 多项式相加
  9. TCP是如何保证数据的可靠传输的
  10. java unsafe 详解_Java CAS操作与Unsafe类详解
  11. 数学建模(5)---煤矸石堆积问题
  12. 蒸妙集团用科学熏蒸法,弥补现代人在运动上的缺乏
  13. 实用供热空调设计手册第三版_【最新资讯】执行主编周敏赴北京、天津进行手册编制工作会谈...
  14. 心电信号的特征提取、分析与处理
  15. 三国志战略版360区S4服务器合并信息,三国志战略版S3合区表 新赛季哪些服务器合区...
  16. 鸿蒙系统手机如何投影,小屏如何换大屏 五种方法教你把手机画面投影到电视上...
  17. OpenWrt TL-WR841N WAN口down问题
  18. 倘若有天你不想再敲代码了,你想做什么?
  19. Vue--创建一个vue项目
  20. java聊天系统异常问题_聊天室bug问题

热门文章

  1. Unity 来搞一个图文混排吧~
  2. 不让图片失真,使大小不一的图片整齐排列!
  3. android安卓手机(小米 MI3联通版)安装Ubuntu(Linux发行版)过程遇到的坑以及解决办法。
  4. SystemVerilog Assertion guide
  5. EF常见数据库连接字符串示例
  6. 【维生素C语言】第十八章 - C语言程序环境
  7. andorid edittext屏蔽Emoji
  8. noilinux中如何对拍程序
  9. 发布全部开源的Asp.net 2.0 RBAC 权限管理系统了,大家支持下。
  10. error C2679: binary ''