前提・実現したいこと
C言語を勉強している初心者です。
再帰についての質問です。
下記のコードはintで与えられた数字を与えられた関数のみを使って表示するというコードです。
与えられた数字の出力はできるようになったのですがコードを理解できません。
関数 put_nbr 内での再帰の動作を知りたいです。
アドバイスいただけたら幸いです。
よろしくお願いします。
該当のソースコード
c
1#include <unistd.h> 2 3 4void put_nbr(int nb); 5 6int main() 7{ 8 put_nbr(1234); 9} 10 11void put_char(char c) 12{ 13 write(1, &c, 1); 14} 15 16void put_nbr(int nb) 17{ 18 19 if (nb < 0) 20 { 21 put_char('-'); 22 nb = nb * (-1); 23 } 24 if (nb > 9) 25 { 26 put_nbr(nb / 10); 27 put_nbr(nb % 10); 28 } 29 else 30 { 31 put_char(nb + '0'); 32 } 33}
回答3件
あなたの回答
tips
プレビュー