我是这个网站和编程的新手,所以请耐心等待。我决定从学习 C 开始学习编程。现在,我仍然对 stdio.h 之外一无所知。不管怎样,我现在遇到了一个新话题,那就是函数,我想尝试用它来做点什么。
但是,我从来没有机会知道我的算法是否正确 由于编译时的错误,我真的不明白 编译器的错误信息试图告诉我。我不知道是什么导致了这些错误。 因此,我需要有人看一下我的代码并指导/解释/教我, 任何东西。
我正在尝试使用函数以棋盘方式打印出 X 和 O,这是 我的代码。
int function_X;
int function_O;
int size_controller;
main()
{
int i;
int j;
int width;
int height;
clrscr();
printf("Width: \n");
scanf("%d", &width);
printf("Height: \n");
scanf("%d", &height);
for(j=0; j<height; j++)
{
for(i=0; i<width; i++)
{
if(size_controller(i) )
{
printf("\n");
}
if(function_X(i, j) )
{
printf("X");
}
if(function_O(i, j) )
{
printf("O");
}
}
}
return 0;
}
int size_controller(int i)
{
if(i%width == 0)
{
return 1;
}
else
{
return 0;
}
}
int function_X(int i, int j)
{
if((j%2 != 0) && (i%2 != 0) || (j%2 == 0) && (i%2 == 0))
{
return 1;
}
else
{
return 0;
}
}
int function_O(int i, int j)
{
if((j%2 != 0) && (i%2 == 0) || (j%2 == 0) && (i%2 != 0))
{
return 1;
}
else
{
return 0;
}
}
当我尝试运行该程序时,编译器声明了 7 个错误和 1 个警告:
错误 01.C 27:调用非函数
错误 01.C 32:调用非函数
错误 01.C 37:调用非函数
错误 01.C 48:重新声明“size_controller”时类型不匹配
错误 01.C 49: undefined symbol “宽度”
警告 01.C 57:从未使用过参数“i”
错误 01.C 60:重新声明“function_X”时类型不匹配
错误 01.C 72:重新声明“function_O”时类型不匹配
请帮帮我!
最佳答案
更改这些(看起来像普通变量):
int function_X;
int function_O;
int size_controller;
对于这些(看起来像函数声明):
int size_controller(int i, int width); /* Needs width parameter. */
int function_X(int i, int j);
int function_O(int i, int j);
但唯一真正明智的建议是找到一本像样的书并学习,这些确实是您本可以避免的问题。
关于C语言 : Need an explanation for errors in using function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9051749/