40 lines
721 B
C
40 lines
721 B
C
#include <stdio.h>
|
|
#include <ctype.h>
|
|
#include <string.h>
|
|
|
|
int myatoi(char *instr) {
|
|
int sign = 1;
|
|
if (*instr == '-') {
|
|
sign = -1;
|
|
instr++;
|
|
}
|
|
|
|
for (; *instr != '\0'; instr++) {
|
|
if (!isdigit(*instr)) {
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
int num = 0;
|
|
instr -= strlen(instr);
|
|
|
|
while (*instr >= '0' && *instr <= '9') {
|
|
num = num * 10 + (*instr - '0');
|
|
instr++;
|
|
}
|
|
|
|
return num * sign;
|
|
}
|
|
|
|
int main() {
|
|
char input[] = "-2890";
|
|
int number = myatoi(input);
|
|
printf("Converted number is: %d\n", number);
|
|
|
|
char bad_input[] = "2890kjdfshdfsh";
|
|
number = myatoi(bad_input);
|
|
printf("Bad input result: %d\n", number);
|
|
|
|
return 0;
|
|
}
|