- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:10進数文字列の変換)
10進数文字列の変換について
このQ&Aのポイント
- 10進数文字列の変換方法についての質問です。
- 具体的な処理の流れが分からないため、教えていただきたいです。
- 入力した文字列がどのように49に変換されるのか、詳しく知りたいです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
一つずつ順を追って考えれば難しくないと思いますよ。 まず、getsで入力された配列には m[0]: '4' (0x34) m[1]: '9' (0x39) m[2]: '\0' (0x00) が格納されており、chg にm[]のアドレスが渡ります。 whileでは *p から、つまり上位の桁から順に処理してます。 最初のループで w = w * 10 + '4' - '0' wは最初に 0が入っています。'4' は 0x34、'0'は 0x30だから、結果 wは 4になりますね。 p++で下の桁に移動し、*pは '9'になります。 w = w * 10 + '9' - '0' で、wの 4が10倍され、9が足されます。 これでめでたく 49という数値に変換されました。 最後に、p++で *Pは 0を指すのでループから抜け出します。
お礼
早速のお返事有難うございます<(_ _)> おかげで理解することが出来ました。 本当に有難うございました!