atoi函数实现
来源:互联网 发布:mysql 创建触发器 编辑:程序博客网 时间:2024/05/17 08:50
参考代码:
int atoi(const char *str){if(str == NULL || *str == '\0') {printf("invalid input\n");return 0;}int sign = 1;int sum = 0;if(*str == ' ') ++str;if(*str == '+') ++str;else if(*str == '-') {sign = -1;++str;}while(*str >= '0' && *str <= '9'){sum = sum * 10 + *str - '0';++str;}return sum * sign;}
测试用例:str = "+", str = “+aaa”;输出为0,为有效输入,其实应该是无效输入
剑指offer代码:
#include<stdio.h>#include<stdlib.h>enum status {kvalid = 0, kinvalid};int flag = kinvalid;int atoi(const char *str){if(str == NULL || *str == '\0') {flag = kinvalid;return 0;}int sign = 1;int sum = 0;if(*str == ' ') ++str;if(*str == '+') ++str;else if(*str == '-') {sign = -1;++str;}if(*str != '\0'){ while(*str != '\0') { if(*str >= '0' && *str <= '9') { sum = sum * 10 + *str - '0';if((sign * sum > 0x7FFFFFFF) || (sign * sum < 0x80000000)){sum = 0;break;} ++str; } else { sum = 0; break; } } if(*str == '\0') flag = kvalid;}return sum * sign;}
测试用例:str = “123a” 输出为0,为无效输入,按照atoi函数的本意,输出为123
0 0
- atoi函数实现
- atoi,itoa函数实现
- atoi函数的实现
- atoi()函数的实现
- atoi函数实现
- atoi函数实现
- atoi函数实现
- atoi函数实现_buwanmei
- 实现atoi函数
- atoi函数实现
- atoi()函数的实现
- atoi函数的实现
- atoi函数的实现
- atoi函数实现
- atoi函数实现
- atoi函数实现
- atoi函数的实现
- atoi函数实现
- leetcode - Surrounded Regions
- Maven with IntelliJ IDEA
- 共享栈
- NGUI 3.5教程 Scroll Bar 滚动条-制作聊天框
- RS232串口通信详解(引脚定义,电气特性,传输格式,接收过程,单片机晶振,RS485,RS422)
- atoi函数实现
- ios中的GpuImage及相关滤镜介绍
- div屏幕居中显示
- monthCalendar (日历)控件常用操作
- JS比较最大数方法
- 大数据十大经典算法之KNN
- Java中"Test(Object...args){}"方法声明的理解
- docker学习笔记(2)---Dockerfile
- C语言编程:青年歌手参加歌曲大奖赛,有10个评委打分(满分10分),去掉最高最低分后,试编程求选手的平均得分