How to check if a string is a valid negative integer in C

1 Answer

0 votes
#include <stdio.h>
#include <ctype.h>

int IsValidNegativeInteger(const char* str) {

    if (!str || str[0] == '\0') { // empty
        return 0;
    }

    if (str[0] == '-') {
        if (str[1] == '\0') {
            return 0; 
        }
        str++; 
    }
    else {
        return 0;
    }

    while (*str) {
        if (!isdigit(*str)) {
            return 0; 
        }
        str++;
    }

    return 1; 
}

int main() {
    const char* str = "-2041";

    if (IsValidNegativeInteger(str)) {
        printf("Valid negative integer\n");
    }
    else {
        printf("Not a valid negative integer\n");
    }

    return 0;
}




/*
run:

Valid negative integer

*/

 



answered May 5, 2024 by avibootz

Related questions

1 answer 178 views
1 answer 119 views
2 answers 209 views
1 answer 111 views
1 answer 186 views
2 answers 133 views
...