この例で再帰がどのように機能するか混乱しています。「ABC\n」を入力すると、CBAが出力されます。誰かがプロセスをステップスルーできれば、私はそれを大いに感謝します。
- main()では、ReverseLine()が呼び出されます
ローカル自動myInputは'ABC\n'を取り込みます
次に、myInputの'\ n'とEOFをチェックします。ここで、混乱し始めます。
A!='\ n'およびA!= EOFと書かれているので、ReverseLine()が再度呼び出されますが、それではどうでしょうか。
再帰はどのように機能しますか、プロセスを理解したいだけです
ありがとう
using namespace std;
void ReverseLine(){
int myInput;
myInput = cin.get();
if (myInput != '\n' && myInput != EOF)
ReverseLine();
if (myInput != EOF)
cout.put(myInput);
}
int main(){
ReverseLine();
return 0;
}