自己写个字符串转int(my_atoi)
#include "stdio.h"

int isDigit(int s)//判断是否是数字
{
if(s >= '0' && s <= '9')
return 1;
else
return 0;
}
int my_atoi(const char* str)
{
int c;
int sum = 0;
int sign;
while((*str)==' ' || (*str) == '\n' || (*str) == '\r' || (*str) == '\t')//判断是否是空格换行之类的空字符,有则跳过
str++;

sign = *str; //符号
if(sign == '-' || sign == '+')//若有符号则跳过
str++;
c = (int)*str++;
while(isDigit(c))
{
sum = 10 * sum + (c - '0');
c = (int)*str++;
}
if(sign == '-')
return -sum;
else
return sum;
}


int main()
{
char* str = "-123";
printf("%d\n",my_atoi(str));
return 0;
}


阅读更多
想对作者说点什么? 我来说一句

atoi 源码 c++

2010年10月20日 368B 下载

一个C#类型转换类

2017年10月23日 6KB 下载

没有更多推荐了,返回首页

不良信息举报

自己写个字符串转int(my_atoi)

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭