Convert String to Integer

Code

#include <stdio.h>
#include <stdint.h>

int custom_atoi(const char *str){
    int sign = 1;
    int num = 0;

    if(*str == '+'){sign = 1; *str++;}
    else if(*str == '-'){sign = -1; *str++;}

    while(*str >= '0' && *str <= '9'){
        num = num*10 + (*str - '0');
        *str++;
    }

    return sign * num;
}

int main(){
    char str[101];
    fgets(str, sizeof(str), stdin);

    //Remove newline 
    uint8_t i = 0;
    while(str[i]){
        if(str[i] == '\n'){
            str[i] = '\0';
            break;
        }
        i++;
    }
    printf("%d", custom_atoi(str));
    return 0;
}

Solving Approach

 

 

 

Upvote
Downvote
Loading...

Input

123abc

Expected Output

123