まず最初に、私はCの初心者です。私たちは大学で「構造化プログラミング」を学んでいます。Cとprintfの再帰関数
ここで、「再帰関数」に関する最後のいくつかの講義は、私にとっては初心者として苦労しています。あなたの誰もが親切にも私に説明することができ、この:
だから私はこの小さなスクリプト、小数をとり、バイナリ1に変換再帰関数があります。今
#include <stdio.h>
void binary(int num)
{
if (num == 0) return;
binary(num/2);
printf("%d", num % 2);
}
int main()
{
int n;
scanf("%d", &n);
binary(n);
return 0;
}
私は思っていたがこの機能はどのように機能しますか?私はそれの背後にある論理を知っていて、それは何をすべきかを知っていますが、私はそれがどのようにITを行うのか分かりません。一番下のprintfは、特に、printf関数が再帰呼び出しの前にある場合、10進数10の場合は(0101)が出力されますが、その下に正しいバイナリ番号(1010)が出力されている場合はどうですか?
どんな種類のヘルプでも大変感謝しています。
あなたのプログラムは鉛筆と紙で簡単に「手作業で」実行するとわかります。 –