私は昨日の試験でこの問題を抱えていました。私はそれを解決できなかったので、あなたは結果を想像することができます...
再帰関数を作成します。intinvertint(int num)は整数を受け取り、それを返しますが、反転します。例:321は123として返されます。
私はこれを書いた:
int invertint( int num ) {
int rest = num % 10;
int div = num / 10;
if( div == 0 ) {
return( rest );
}
return( rest * 10 + invert( div ) )
}
2桁の数字では機能しますが、3桁以上では機能しません。321は最終段階で1*10+23を返すので。
どうもありがとう!
PS:この種の再帰の問題をより速く理解する方法はありますか、それとも自分自身の想像力次第ですか?