文字列を数値に変更する関数を自作中です(atoiの再現)
9桁以上の入力があった場合に挙動がおかしくなってしまって
どこを変更すればよいでしょうか?
16桁まで対応したいです!
c
#include <stdio.h> int judgement_int(char *str) { int num = 0; int err = 0; while(*str != '\0'){ if (*str == ' ') { str++; } num += *str - 48; num *= 10; str++; } num /= 10; return num; } int main(int argc, char** argv) { int number; number=judgement_int(argv[1]); printf("%d", number); return (0); }
まだ回答がついていません
会員登録して回答してみよう