【申明:本文仅限于自我归纳总结和相互交流,有纰漏还望各位指出。 联系邮箱:Mr_chenping@163.com】
题目:输入一个表示整数的字符串,把该字符串转换成整数并输出。
例如输入字符串"345",则输出整数345。
题目分析:
一、考虑正负号
二、参数和返回值参考atoi
算法实现:
#include <stdio.h>
int str_to_int(const char *str)
{
if(!str)
return 0;
char *re = str;
while(*re == ' ')
re++;
if(*re == '-' || *re == '+')
re++;
int sum = 0;
while(*re != '\0')
{
if(*re >= '0' && *re <= '9')
{
sum = 10*sum + (*re - '0');
re++;
continue;
}
break;
}
return ((*str == '-')?-sum:sum);
}
int main(int argc, char *argv[])
{
printf("%s--str_to_int-->%d\n", argv[1], str_to_int(argv[1]));
printf("%s--atoi-------->%d\n", argv[1], atoi(argv[1]));
return 0;
}