当前位置: 首页 > news >正文

C语言笔记21 •模拟atoi函数•

1.atoi的使用

atoi是将字符串转化为int类型数字的一个库函数

int main()
{
    char str[] = "123568";
    int a;
    a = atoi(str);         /*将字符串转化为int型的数字*/
    printf("%d\n", a);

}

2.模拟atoi函数

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include <ctype.h>enum State
{VAILD,INVAILD}Sta = INVAILD;int myatoi(const char* str)
{assert(str);if (*str == '\0'){return 0;}while (isspace(*str)){str++;}int flag = 1;if (*str == '+'){flag = 1;str++;}else if(*str == '-'){flag = -1;str++;}long long ret = 0;while (*str !='\0'){if (isdigit(*str)){ret = ret * 10 + flag * (*str - '0');if (ret > INT_MAX || ret < INT_MIN){return 0;}str++;}else{return (int)ret;// INVAILD 非法转换}//str++;}if (*str == '\0'){Sta = VAILD;//全部转化完毕return (int)ret;}}
int main()
{//char str[20] = "a2345";//char str[20] = "23a45";char str[20] = "1314";int ret = myatoi(str);if (Sta == VAILD){printf("合法转换:%d\n", ret);}else {printf("非法转换:%d\n", ret);}return 0;
}

相关文章:

  • conda常见命令
  • 汽车R155法规中,汽车获取到的VTA证书,E后面的数字表示什么意思?
  • MySQL入门学习-查询进阶.别名
  • 携手AI,如何共赢未来?
  • java string类
  • 每日力扣刷题day05(小白简单题)
  • Python游戏编程:一步步用Python打造经典贪吃蛇小游戏
  • 知能行——考研数学利器
  • 牛马真的沉默了,入职第一天就干活
  • 梦幻西游手游挂机脚本,搬砖挂机赚米项目,号称单窗口日收益60+(教程+软件)
  • Python | Leetcode Python题解之第101题对称二叉树
  • 【输入示例100,999 输出示例4】水仙花数
  • 2024 一键批量下载雪球和东方财富文章导出excel和pdf
  • 视频号小店的保证金是多少钱?2024最新收费标准,一篇了解!
  • 击穿盲点——【网络安全】社会工程学中的网络欺骗
  • 【JavaScript】通过闭包创建具有私有属性的实例对象
  • 8年软件测试工程师感悟——写给还在迷茫中的朋友
  • Angular 响应式表单 基础例子
  • FastReport在线报表设计器工作原理
  • LeetCode29.两数相除 JavaScript
  • Linux下的乱码问题
  • maven工程打包jar以及java jar命令的classpath使用
  • php ci框架整合银盛支付
  • python3 使用 asyncio 代替线程
  • React Native移动开发实战-3-实现页面间的数据传递
  • Sass Day-01
  • SegmentFault 社区上线小程序开发频道,助力小程序开发者生态
  • Vue.js源码(2):初探List Rendering
  • vue-cli3搭建项目
  • windows下mongoDB的环境配置
  • Yeoman_Bower_Grunt
  • Zepto.js源码学习之二
  • 服务器之间,相同帐号,实现免密钥登录
  • 基于Javascript, Springboot的管理系统报表查询页面代码设计
  • 京东美团研发面经
  • 面试总结JavaScript篇
  • 算法之不定期更新(一)(2018-04-12)
  • 在electron中实现跨域请求,无需更改服务器端设置
  • 在Mac OS X上安装 Ruby运行环境
  • 怎么把视频里的音乐提取出来
  • 追踪解析 FutureTask 源码
  • 交换综合实验一
  • 树莓派用上kodexplorer也能玩成私有网盘
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • ​探讨元宇宙和VR虚拟现实之间的区别​
  • # dbt source dbt source freshness命令详解
  • (003)SlickEdit Unity的补全
  • (173)FPGA约束:单周期时序分析或默认时序分析
  • (Java入门)学生管理系统
  • (Note)C++中的继承方式
  • (rabbitmq的高级特性)消息可靠性
  • (黑客游戏)HackTheGame1.21 过关攻略
  • (三十五)大数据实战——Superset可视化平台搭建
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (转)c++ std::pair 与 std::make