C - "参数类型' void'是不完整的"使用函数打印树的错误

时间:2017-10-28 21:08:13

标签: c

我尝试创建一个函数,允许在从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));
}

我很感激任何建议!

1 个答案:

答案 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的输出:

    *                                                                                                                                                               
   ***                                                                                                                                                              
  *****                                                                                                                                                             
 *******                                                                                                                                                            
*********