设为首页 加入收藏

TOP

C语言模拟实现库函数atoi
2017-06-27 10:22:32 】 浏览:4774
Tags:语言 模拟 实现 函数 atoi

C语言模拟实现库函数atoi,atoi() 函数用来将字符串转换成整数(int),其原型为:
int atoi (const char * str);

【函数说明】atoi() 函数会扫描参数 str 字符串,跳过前面的空白字符(例如空格,tab缩进等,可以通过 isspace() 函数来检测),直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时(‘\0’)才结束转换,并将结果返回。

【返回值】返回转换后的整型数;如果 str 不能转换成 int 或者 str 为空字符串,那么将返回 0。

#include 
  
     
#include 
   
     #include 
    
      #include 
     
       int my_atoi(char const *p) { int ret = 0; int a = 0; int flag = 1; assert(p != NULL); while (isspace(*p)) { p++; } while (*p) { if (*p == '+') p++; else if (*p == '-') { p++; flag = -1; } else if (*p >= '0'&& *p <= '9') { a = *p - '0'; ret = (ret * 10 + a); p++; } else return 0; } if ((flag == 1 && ret > 0x7FFFFFFF) || (flag == -1 && ret < (signed int)0x80000000)) return 0; return ret*flag; } int main() { printf("%d\n", my_atoi(" +2345")); printf("%d\n", my_atoi(" -2345")); printf("%d\n", my_atoi("+2345")); printf("%d\n", my_atoi("-2345")); printf("%d\n", my_atoi("2345")); printf("%d\n", my_atoi("2345")); printf("%d\n", my_atoi("")); printf("%d\n", my_atoi("123ab")); system("pause\n"); return 0; }
     
    
   
  

这里写图片描述

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇C语言用fstat函数获取文件的大小 下一篇第一个c程序

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目