0
私はatoiを再作成しようとしています。なぜ私の機能が動作するのか不思議です。私は3つの声明のためにそれをstr [i]に変えてしまった。なぜなら、それは私には意味があったからだ。なぜ私の文字列はこのように読み込まれていますか?
i = 0;
result = 0;
negative = 1;
if (str[0] == '-')
{
negative = -1;
i++;
}
if (str[0] == '+')
i++;
while (str[0] <= ' ')
i++;
while (str[i] != '\0')
if (str[i] >= '0' && str[i] <= '9')
{
result = result * 10 + str[i] - '0';
++i;
}
return (result * negative);
最終的なwhileループでは、数字ではないものは無視します。それはあなたが意図したことなのか、間違いを起こすべきなのでしょうか? '12A3'は' 123'を返します。 –