新手求解,该如何解决

新手求解
#include<iostream.h>
void f(int n,int k)
{
char x;int m;
m=n%k;n=n/k;
c=m<10?'0'+m:'a'+m-10;
if(n) f(n,k);
cout<<c;
}
void main()
{
f(6,2): cout<<endl;
}


void f(int n,int k)
{
char x;int m;
m=n%k;n=n/k;
c=m<10?'0'+m:'a'+m-10;
if(n) f(n,k);
cout<<c;
}
这部分代码里的 这行if(n) f(n,k); 怎么运行或者说这部分代码怎么运行


------解决方案--------------------
如果n不为0就运行函数f(n,k)
------解决方案--------------------
这个程序有问题吧,c也没声明。
C/C++ code
void f(int n,int k)
{
char x;int m;
m=n%k;n=n/k;
c=m<10?'0'+m:'a'+m-10;
if(n) f(n,k);//n不为0时忽略,n为0是循环嵌套一次。
cout<<c;
}