递归算法输出得不到结果解决思路

递归算法输出得不到结果
#include"stdio.h"
void f(int n)
{

int i;
for(i=1;i<=n;i++)
printf("%d ",n);
printf("\n");
if(n>=1);
  f(n-1);

}

void main(void)
{
int n;
scanf("%d",&n);
f(n);
}
运行时得不到结果,是不是循环没有出口???

------解决方案--------------------
在f里最开始加 
if(n == 1)
return;
------解决方案--------------------
需要给出递归的终止条件~~
------解决方案--------------------
错误太多。
1、for 循环的循环体没有大括号;
2、if(n>=1);if 语句后边加分号做啥?