问一道简单c程序

来源:百度知道 编辑:UC知道 时间:2024/05/17 20:42:12
print(int i)
{
int j;
static k=1;
for(j=0;j<k;j++)
printf(" ");
for(j=0;j<i;j++)
printf("*");
printf("\n");
k+=1;
i--;
if(i!=0)
print(i);
}
#include <stdio.h>
void main()
{
int i;
print(i);
}
这个程序那里错了??

/*这里缺少print的预定义,因为在print中还调用了它自己*/
print(int i) /*c中缺省的返回值为int,你没有返回值,要加void*/
{
int j;
static k=1; /*k未指定类型,这里可以是int*/
for(j=0;j<k;j++)
printf(" ");
for(j=0;j<i;j++)
printf("*");
printf("\n");
k+=1;
i--;
if(i!=0)
print(i);
}
#include <stdio.h> /*这句最好放在最前面*/
void main()
{
int i;
print(i); /*使用i之前应对它进行赋初值*/
}

int k;

int i;

i没有个初值,应该先给他赋值才能调用啊