模拟实现atoi
来源:互联网 发布:全年销售额数据报表 编辑:程序博客网 时间:2024/05/22 15:07
//注意到细节问题:/*一、函数参数1、形参虚const修饰2、注意对形参指针判空二、需要考虑到的细节1、负数和0(注意区别传入字符‘0’和异常时返回值)2、空字符串3、溢出问题4、输入字符串非非数字字符*/int G_flag =0;//区别空串long long strToDig(const char*digit, bool minus){ long long num = 0; if (*digit == '\0') { G_flag = 1;//区别空串 cout << "空字符串" << endl; } while (*digit != '\0') { if ('0'<=*digit&&*digit<'9') { int flag = minus ? -1 : 1; num = num * 10 + flag*(*digit - '0'); if (!minus&&num>0x7FFFFFFF ||minus&&num<(signed)0x80000000)//若前面有没“-”号,则minus为false;!minus即可判断 { cout << "转换整数溢出" << endl; num = 0; break; } digit++; } else { num = 0; break; } } return num;}int StrToInt(const char*string){ long long num = 0; bool minus = false; if (string != NULL&&*string != '\0') { if (*string == '+') string++; else if (*string == '-') { minus = true; string++; } } //开始转换; if (string != '\0') { num = strToDig(string, minus); } return (int)num;}
阅读全文
0 0
- 模拟实现atoi函数
- 模拟实现atoi函数
- 模拟实现atoi函数
- 模拟实现库函数atoi
- 模拟实现atoi函数
- 模拟实现atoi函数
- 模拟实现atoi函数
- atoi的模拟实现
- 模拟实现atoi
- 模拟实现atoi函数
- 模拟实现atoi函数
- 模拟实现atoi、itoa
- 模拟实现atoi函数
- 面试题atoi的模拟实现
- 模拟实现C语言中的库函数atoi
- C语言模拟实现库函数atoi
- C语言模拟实现atoi函数
- C语言模拟实现atoi函数
- 虚拟路由器冗余协议VRRP详解【原理篇】
- 说一个用mkdirs()出现目录建成文件的问题的解决
- 前景检测算法
- 关于spingMVC使用时配置自动扫描出现的路径报错
- 为什么要做接口测试
- 模拟实现atoi
- Centos安装完无法上网的解决方法
- 深度学习 —— 深度置信网络
- c#不定参数
- Java 8系列之重新认识HashMap
- Java实现-排列序号1
- 操作系统刷题(一)
- oracle连接字符串函数,wmsys.wm_concat和LISTAGG
- C++ windows、linux 时间转成字符串