关闭

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

78人阅读 评论(0) 收藏 举报
分类:
#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;
}


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:23002次
    • 积分:1358
    • 等级:
    • 排名:千里之外
    • 原创:103篇
    • 转载:85篇
    • 译文:3篇
    • 评论:0条