int strtoi(char *str){ int num = 0; while(1){ if(*str>='0' && *str<='9'){ if(*str == 0) break; else { num = num * 10 +(*str - '0'); // 文字数字変換 str++; } } else{ num = 0; break; } } return num; }
数字と文字の判定を行うところがおかしいようです。
if(*str>='0' && *str<='9')ここがうまくできていないようです。
・・・?
なぜでしょうか??
if( (*str>='a'&& *str<='z') || (*str>='A' && *str<='Z'))
こちらはうまくできます。
どうしてか理由が分かりません。
どなたか教えてください。

回答4件
あなたの回答
tips
プレビュー