我尝试创建一个函数,允许在从main函数调用时打印不同大小的树。不幸的是,当我运行我的代码时,我得到了错误"参数类型' void'是不完整的"在我的主要功能中三次。这是我的代码:
#include <stdio.h>
void tree(int rows)
{
int i, j;
for(i=1; i<=rows; i++)
{
for(j=i; j<rows; j++)
{
printf(" ");
}
for(j=1; j<=(2*i-1); j++)
{
printf("*");
}
printf("\n");
}
}
int main()
{
int rows;
rows = 5;
printf("%d\n", tree(rows));
rows = 3;
printf("%d\n", tree(rows));
rows = 6;
printf("%d\n", tree(rows));
}
我很感激任何建议!
答案 0 :(得分:1)
如果您不想更改tree
功能,只需调用树(不在printf
内调用)。
正如T. Obadiah所指出的,printf
语句需要int
,但您的函数是void
。
您的tree
实现已打印输出。
void tree(int rows)
{
int i, j;
for(i=1; i<=rows; i++)
{
for(j=i; j<rows; j++)
{
printf(" ");
}
for(j=1; j<=(2*i-1); j++)
{
printf("*");
}
printf("\n");
}
}
int main()
{
int rows;
rows = 5;
tree(rows);
rows = 3;
tree(rows);
rows = 6;
tree(rows);
}
rows = 5
的输出:
*
***
*****
*******
*********