関数の再帰呼び出し
#include <stdio.h>
int loopA( int );
void loopB( int );
void main()
{
int i = 3;
loopA( i );
printf( "\n" );
loopB( i );
}
int loopA( int n )
{
printf( "loopA-out1:%d\n", n );
if ( !n ) {
printf( "出力終了\n" );
return 0;
}
return loopA( --n );
printf( "loopA-out2:%d\n", n );
}
void loopB( int n )
{
printf( "loopB-out1:%d\n", n );
if ( !n ) {
printf( "出力終了\n" );
return;
}
loopB( --n );
printf( "loopB-out2:%d\n", n );
}
出力結果
loopA-out1:3
loopA-out1:2
loopA-out1:1
loopA-out1:0
出力終了
loopB-out1:3
loopB-out1:2
loopB-out1:1
loopB-out1:0
出力終了
loopB-out2:0
loopB-out2:1
loopB-out2:2
Comments