int my_atoi(const char *str)
{
if( !isdigit(*str) ) { // str の先頭文字が数字でない場合は -1 を返す
return -1;
}
int val = 0; // 初期値を 0 に設定
while( isdigit(*str) ) { // str の指す先が数字である間
val = val * 10 + *str++ - '0'; // 値を10倍し、数字を足す
}
return val; // 値を返す
}
解説:
前: | 次: