博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oral_quiz->#Str2Int#
阅读量:6554 次
发布时间:2019-06-24

本文共 1611 字,大约阅读时间需要 5 分钟。

hot3.png

#include 
#include
enum Status { kValid = 0, kInvalid };int g_nStatus = kValid;long long Str2IntCore(const char* digit, bool minus);int Str2Int(const char* str) { g_nStatus = kInvalid; long long num = 0; if(str != NULL && *str != '\0') { bool minus = false; if(*str == '+') str++; else if(*str == '-') { minus = true; str++; } if(*str != '\0') num = Str2IntCore(str, minus); } return (int)num;}long long Str2IntCore(const char* digit, bool minus) { long long num = 0; while(*digit != '\0') { if(*digit >= '0' && *digit <= '9') { int flag = minus ? -1 : 1; num = num*10 + flag*(*digit - '0'); if((!minus && num > 0x7FFFFFFF) || (minus && num < (signed int)0x80000000)) { num = 0; break; } digit++; } else { num = 0; break; } } if(*digit == '\0') g_nStatus = kValid; return num;}void Test(const char* testName, const char* str, int expected) { if(testName != NULL) printf("%s begins: ", testName); if(expected == Str2Int(str)) printf("passed.\n"); else printf("failed.\n"); printf("g_nStatus: %d\n", g_nStatus);}//positivevoid Test1() { char* str = "7865"; Test("Test1", str, 7865);}//negativevoid Test2() { char* str = "-7865"; Test("Test2", str, -7865);}//NULLvoid Test3() { Test("Test3", NULL, 0);}//""void Test4() { char* str = ""; Test("Test4", str, 0);}//Invalidvoid Test5() { char* str = "+8j7"; Test("Test5", str, 0);}//beyondvoid Test6() { char* str = "5463728392"; Test("Test6", str, 0);}int main(int argc, char* argv[]) { Test1(); Test2(); Test3(); Test4(); Test5(); Test6(); return 0;}

转载于:https://my.oschina.net/ITHaozi/blog/283383

你可能感兴趣的文章
腾讯技术工程 | 腾讯AI Lab解析2017 NIPS三大研究方向,启动教授及学生合作项目...
查看>>
搭建android + cordova环境
查看>>
centos lvs+keepalived 双机实现互备且同为realserver
查看>>
centos6.5监控平台nagios搭建与配置
查看>>
活动目录域及工作组环境外部时间源同步
查看>>
ACS USB安装引导制作
查看>>
lync客户端外网登陆提示exchange连接错误
查看>>
计算机应用一级B考试专题整理三
查看>>
bzoj 2762: [JLOI2011]不等式组——树状数组
查看>>
uva 437,巴比伦塔
查看>>
利用FFmpge进行视频解码(从H264视频流到图像)
查看>>
P51、面试题5:从尾到头打印链表
查看>>
有关一些 c++ cmath 库中的函数的精度问题
查看>>
HTML Input Text cursor position control
查看>>
阿里云应用安装 小记
查看>>
The Google File System(前五章,翻译的略乱)
查看>>
RUP 迭代开发计划的两种方法
查看>>
PHP中static关键字
查看>>
python处理xml实例
查看>>
从《一生所爱》到《世间始终你好》
查看>>