输入一个字符串比如“+1234”,将其转换成对应的数字1234输出,若是“-1234”,则输出-1234:

#include <stdio.h>
enum Charec{TRUE,FALSE};
int check = FALSE;
int my_atoi(const char *str)
{int num = 0;if((str != NULL)&&(*str != '\0')){int minus = 0;if(*str == '+')str++;else if(*str == '-'){str++;minus = 1;}while(*str != '\0'){if((*str >= '0')&&(*str <= '9')){int flag = minus?-1:1;num = (num*10)+flag*(*str-'0');if((!minus&&(num>0x7FFFFFFF))||(minus&&((signed int)num<0x80000000))){num = 0;break;}str++;}else{num = 0;break;}}if(*str == '\0'){check = TRUE;}}return num;
}
int main()
{char str[50];int ret = 0;scanf("%s",str);ret = my_atoi(str);printf("%d\n",ret);return 0;
}

为将输入字符串“0”输出结果0和输入空字符串输出结果也同样为0这两种情况区分开,特意设置了一个全局枚举常量,这样可以检查枚举常量的值来区分,而且须考虑输入的字符串转换成对应的数字超出int的范围的情况。

转载于:https://blog.51cto.com/2627lounuo/1707218

实现将一个字符串转化成对应的整形数字相关推荐

  1. python字符串转化成列表_Python字符串如何转化为列表

    在讲解Python字符串转化为列表的方法之前,我们先来对python字符串基础知识进行简单回顾,方便后续的灵活运用. 字符串是 Python 中最常用的数据类型.我们可以使用引号('或")来 ...

  2. php 将一个字符串转换成数组,PHP将一个字符串转换成数组

    PHP将一个字符串转换成数组,支持中文/** * 将一个字符串转换成数组,支持中文 * @param string $string 待转换成数组的字符串 * @return string 转换后的数组 ...

  3. base64字符串转化成图片

    /*** base64字符串转化成图片** @param base64* @return*/ public static File base64ToFile(String base64) throws ...

  4. js 字符串转化成数字

     js 字符串转化成数字 的 三种方法主要有 转换函数.强制类型转换.利用js变量弱类型转换. 1. 转换函数: js提供了parseInt()和parseFloat()两个转换函数.前者把值转换 ...

  5. new Date将字符串转化成日期格式 兼容IE,ie8如何通过new Date将字符串转化成日期格式,js中如何进行字符串替换, replace() 方法详解

    new Date将字符串转化成日期格式 兼容IE,ie8如何通过new Date将字符串转化成日期格式,js中如何进行字符串替换, replace() 方法详解 //获得年月日时分秒 //传入日期// ...

  6. java字符串转公式_java把字符串转化成公式计算的示例

    java把字符串转化成公式计算的示例 如下所示: static ScriptEngine jse = new ScriptEngineManager().getEngineByName("J ...

  7. js将字符串转化成时间戳

    1.将字符串转化成时间戳 //2019-06-11 16:18:15 function getDateFromString(str){var reg = /^(\d+)-(\d+)-(\d+) (\d ...

  8. java 整数转为二进制_java将一个整数转化成二进制代码示例

    将一个整数转化成二进制的方法: 1 方法1:使用BigInteger类: @Test public void test1(){ BigInteger b=new BigInteger("10 ...

  9. 将阿拉伯数字转化成大写的人民币数字

    将阿拉伯数字转化成大写的人民币数字 public  String getNumberToRMB(String m) ... {      String num = "零壹贰叁肆伍陆柒捌玖&q ...

最新文章

  1. python get请求 由于目标机器_使用python和selenium进行Web抓取:由于目标机器主动拒绝i...
  2. SELECT中常用的子查询操作
  3. 【设计模式】备忘录模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )
  4. keepalived实现nginx高可用主备集群配置过程
  5. [elk]logstash grok原理
  6. WebAPi返回类型到底应该是什么才合适,这是个问题?
  7. react中的axios配置文件
  8. Codeforces 558(C、D、E)总结
  9. python和matlab的区别_我为什么选择Python,不是Matlab和R语言呢?
  10. android qq输入法,Android版QQ输入法:滑动输入成最大亮点
  11. 基于android的手机位置系统,如何打造定位更精准的手机?基于Android系统的SDK方案了解一下~...
  12. openstack-nova源码分析(十一)rebuild重建
  13. GetPixel算法
  14. php账号管理工具,微信公共账号第三方管理工具开发(一)
  15. Keil5安装包括C51版本和STM32的mdk514版本
  16. vue PC端微信扫码登录
  17. C#空字符串、空字符、null、ASCII码为0的字符
  18. 基于Python生成OPENSEES结构动画
  19. c语言bim的题目,【BIM建模应用技术考试练习题一】- 环球网校
  20. #ESPFY银行卡复制器升级版#201/220芯片磁条复合卡写卡技术解析#【威 药企要酒寺起武久巴尔旧】

热门文章

  1. form 多个submit php,一个复杂的PHP表单处理方案?
  2. 随机过程:高斯函数导数、梯度
  3. 基于matlab/simulink的双闭环PMSM控制
  4. linux保存输出结果到txt
  5. 微软 python_微软推出 Pylance,改善 VS Code 中的 Python 体验
  6. php swoole实现定时任务,Swoole实现任务定时自动化调度详解,来学习下
  7. 面试题整理11 数字在排序数组中出现的次数
  8. 二、安装Spark集群
  9. 检测生成.xml文件的效果:以人脸xml为例
  10. 第三天2017/03/30(下午:二级指针的(输出)内存模型)