微软面试100题之20题:输入一个表示整数的字符串,把该字符串转换成整数并输出
来源:互联网 发布:人工智能豆瓣 编辑:程序博客网 时间:2024/05/22 00:41
题目:输入一个表示整数的字符串,把该字符串转换成整数并输出。
例如输入字符串"345",则输出整数345。
程序逻辑非常简单,但能不能写出稳定性很高的代码呢?这也许是公司看重考察的
一定要仔细分析,多加思考
分析:
1对指针是否做了空的判断,如果使用了为空的指针将导致程序崩溃
2输入是否是负数
3输入是否含有非法字符
4是否数据过大溢出
long long strToInt(char *str){ //写程序一定要注意稳定性,要对为NULL时做检查 if(str==NULL) { return 0; } //检验正负 bool isPositive=true; char *tmpStr=str; if(*tmpStr=='-') { isPositive=false; tmpStr++; } if(*tmpStr=='+') { isPositive=true; tmpStr++; } long long sum=0; while(*tmpStr!='\0') { if(*tmpStr>'0' && *tmpStr<'9')//判断是不是只是数字,不是数字则返回 { sum=sum*10+(*tmpStr-'0'); tmpStr++; //判断是不是产生了溢出 if(sum>std::numeric_limits<int>::max()) { return 0; } } else { return 0; } } if(isPositive==false) { sum=0-sum; } return sum;}
0 0
- 微软面试100题之20题:输入一个表示整数的字符串,把该字符串转换成整数并输出
- 【微软100题】输入一个表示整数的字符串,把该字符串转换成整数并输出。 例如输入字符串"345",则输出整数345
- 微软算法100道题-----输入一个表示整数的字符串,把该字符串转换成整数并输出
- 【java 面试100】20.输入一个表示整数的字符串,把该字符串转换成整数并输出
- 20、输入一个表示整数的字符串,把该字符串转换成整数并输出
- 20 输入一个表示整数的字符串,把该字符串转换成整数并输出。
- 第20题: 题目:输入一个表示整数的字符串,把该字符串转换成整数并输出。 例如输入字符串"345",则输出整数345。
- 2、微软面试题:输入一个表示整数的字符串,把该字符串转换成整数并输出
- 18. 微软面试题:输入一个表示整数的字符串,把该字符串转换成整数并输出
- 每日一道算法题:输入一个表示整数的字符串,把该字符串转换成整数并输出
- 输入一个表示整数的字符串,把该字符串转换成整数并输出
- 输入一个表示整数的字符串,把该字符串转换成整数并输出
- 20.输入一个表示整数的字符串,把该字符串转换成整数并输出
- 20.输入一个表示整数的字符串,把该字符串转换成整数并输出。
- 输入一个表示整数的字符串,把该字符串转换成整数并输出
- 输入一个表示整数的字符串,把该字符串转换成整数并输出。
- 输入一个表示整数的字符串, 把该字符串转换成整数并输出
- 输入一个表示整数的字符串,把该字符串转换成整数并输出。
- TOJ:Least Common Multiple
- 图的广度优先遍历算法
- java中static的作用
- 选择排序算法中的交换数值问题
- c++ primer阅读笔记-15章-2
- 微软面试100题之20题:输入一个表示整数的字符串,把该字符串转换成整数并输出
- sort函数
- 点连通分量
- 不得不说的故事:STL内存管理
- 安装sql2005,没有SQL Server management studio的原因分析及解决方案
- 怎样校验MD5码及sha1码数值(适用于Windows及Linux平台)
- 手把手教你使用TI MSP430 LaunchPad
- codeblocks搭建opencv环境完美教程
- 总结一下自己的实训经历吧