首页 > 其他 > 详细

Achieve atoi function in the C langage

时间:2021-05-25 19:18:00      阅读:18      评论:0      收藏:0      [点我收藏+]
int question15(char *string)
{
 bool minus_punctuation = false;
    int sum = 0;
    if (*(string + 0) == ‘-‘) { minus_punctuation = true; string++; }
    while (*string)
    {
        if (isdigit(*string)) { sum = sum * 10 + *string - ‘0‘; }
        string++;
    }
    return minus_punctuation ? -sum : sum;
}
 sum = sum * 10 + *string - ‘0‘; 
for instance : "1234"
1 : sum = 0 * 10 + ‘1‘ - ‘0‘;
= 0 + 1 = 1;
2 : sum = 1 * 10 + ‘2‘ - ‘0‘;
= 10 + 2 = 12;
3 : sum = 12 * 10 + ‘3‘ - ‘0‘;
= 120 + 3 = 123;
4 : sum = 123 * 10 + ‘4‘ - ‘0‘;
= 1230 + 4 = 1234;

Achieve atoi function in the C langage

原文:https://www.cnblogs.com/constanted/p/14809909.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!