10진수 입력받고 2진수로 변환하는 프로그램 소스의 한 함수인데요

void binary ( int n )
{
        if ( n > 0 )
        {
                binary ( n / 2 );
                printf (\"%d\", n % 2 );
        }
}

여기서 if ( n > 0 )
을 빼면 실행 도중에 오류뜨더라구요;;

왜그런거죠?