関数の再帰呼び出し


#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

C > 関数 | comments (0) | trackbacks (0)

Comments

Comment Form

icons:

Trackbacks