>>690
それ思い切りバッファ使ってるじゃないですか!別の領域作ってデータ保存してるし!
再帰とかでうまいことできないんですか。

int nums[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,-1};

void test( index )
{
  if( nums[ index ] == -1 )
  {
    return;
  }
  test( index + 1 );
  printf( "%d ", nums[ index ] );
}
こんな感じで。
できれば再帰じゃなくてループでうまいこと出来ませんか!