Advertisement

实现 atoi 函数并将字符串转为数字

阅读量:

1.目的

设计并实现一个名为atoi()的编码函数,其功能是将输入的字符串转换为对应的整数形式。例如,字符串“12345”经过该函数处理后,将被转换为整数值12345。

2.避坑

需特别注意以下几种常见问题未被充分考虑:

  1. 字符串中是否包含正负符号;
  2. 字符串内是否混入了其他字母或特殊字符;
  3. 在将字符串转换为整型数值的过程中是否存在超出范围的风险。

3.两种解法对比分析

代码1

复制代码
    #include <stdio.h>
    #include <Windows.h>
    #include <assert.h>
    #include <stdlib.h>
    int status = 0;//全局变量,用来判断错误的情况,没有问题status=0;越界status=1;异常字符status=2.
    int my_atoi(const char *str){
    	assert(str);
    	int flag = 1;//记录正负号
    	long long result = 0;
    	int i = 0;
    	while (isspace(str[i])){//isspace()函数,时判断是不是空格
    		i+

全部评论 (0)

还没有任何评论哟~