How to create a function that converts a string to int using a macro in C

1 Answer

0 votes
#include <stdio.h>

#define ISDIGIT(CH) ((CH) >= '0' && (CH) <= '9')

int myatoi(const char *s) {
    int n = 0;
    
    while (ISDIGIT(*s)) {
        n = n * 10 + *s++ - '0';
    }
    
    return n;
}

int main() {
    char str[] = "1890275";
    
    int n = myatoi(str);

    printf("%d\n", n);

    return 0;
}

 
 
/*
run:
 
1890275
 
*/

 



answered Jul 20, 2024 by avibootz
edited Jul 20, 2024 by avibootz

Related questions

1 answer 132 views
1 answer 127 views
1 answer 161 views
2 answers 199 views
1 answer 136 views
1 answer 146 views
...