c语言 - 函数错误:在"char"之前预期为")"



这是一个创建一个充满点的表的程序,但我试图在函数中进行分离。我这样做是因为我将来需要使用变量x和tabuleiro添加更多的函数。我在标题上弄错了,我不明白为什么。你们能帮我吗?

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char tabuleiro_init(int dim, char tabuleiro[15][15]);
int main(int x)
{
printf("Put the dimension of the table: ");
scanf("%d", &x);
char tabuleiro[15][15];
tabuleiro_init(x, tabuleiro[15][15]);
}
char tabuleiro_init(dim, char tabuleiro)
{
if (dim >= 7 && dim <= 15 && dim%2 != 0)
{
for (int i = 0; i < dim; i++)
{
for (int j = 0; j < dim; j++)
{
printf(".", tabuleiro[i][j]);
printf(" ");
}
printf("n");
}
}
}

tabuleiro_init函数的声明和定义不匹配。

比较

char tabuleiro_init(int dim, char tabuleiro[15][15])

带有

char tabuleiro_init(dim, char tabuleiro)

对于第一个参数,定义中缺少int

对于第二个参数,您将其声明为char tabuleiro[][15],或指向由15个元素组成的char数组的指针,但您将其定义为仅为char

对于初学者来说,主的声明

int main(int x)

不正确。

像一样声明函数

int main( void )

并且在函数内声明类似的变量CCD_ 6

int x;

在这次通话中

tabuleiro_init(x, tabuleiro[15][15]);

第二个参数是char 类型的数组中不存在的元素

而是写入

tabuleiro_init(x, tabuleiro);

其定义中的函数声明与第一个函数声明不对应

char tabuleiro_init(dim, char tabuleiro)

并且第一个参数没有类型说明符。

函数的返回类型char也没有意义,而且函数什么也不返回。

因此,至少在这两种情况下使用以下函数声明

void tabuleiro_init(int dim, char tabuleiro[15][15])

在这次打印的调用中

printf(".", tabuleiro[i][j]);

没有使用第二个参数。也许你只是指

printf("." );

(这并不重要(或

printf(".%c", tabuleiro[i][j]);

但在最后一种情况下,必须先初始化数组,然后再将其传递给函数。

相关内容

  • 没有找到相关文章

最新更新