我正在制作一个基本连接五个游戏,尽管我不愿承认它我在调用我的功能时遇到了问题。我不确定我是否错过了函数调用中的任何必需信息,但是没有在main中调用它们并且只运行它们程序如下所示,但是当我删除注释掉的行时,输出就是“按任意键继续“没有任何提示。对于这个问题的道歉,但我一直在阅读教科书和网络,据我所知他们应该工作。任何帮助将非常感激。
#include <stdio.h>
#define NONE 0
#define PLYR_TOKEN 1
#define COMP_TOKEN 6
int board[9][9];
int x, y;
void main()
//{
// void get_coodinates();
// void print_matrix();
//}
//void print_matrix()
{
int i, j, k=9, z=10;
printf("\n");
for(j = 0; j < k; ++j)
{
printf("\n %d", --z);
for(i = 0; i < k; ++i)
printf(" %d", board[x][y]);
}
printf("\n | 1 2 3 4 5 6 7 8 9 \n");
// }
//void get_coordinates()
{
do{
printf("\n");
printf("\n");
printf("Input a column number then row number e.g. (1 4) ");
(scanf("%d %d", &x, &y));
if (x < 1 || y <1 || x > 9 || y > 9)
printf("\nERROR: Values must be between 1-9\n\n");
else
printf("\n %s %d, %d. \n",
"The position you input was", x, y);
} while (x < 1 || y <1 || x > 9 || y > 9);
if (board[x - 1][y - 1] != 0)
{
printf("Position taken enter new position\n");
}
else (board[x -1][y -1] = PLYR_TOKEN);
}
}
答案 0 :(得分:4)
此:
void main()
{
void get_coodinates();
void print_matrix();
}
应改为:
int main()
{
get_coodinates();
print_matrix();
...
return 0;
}
调用函数时不需要包含返回类型。实际上,这样做会告诉编译器您正在声明一个函数。
答案 1 :(得分:2)
void main()
{
void get_coodinates();
void print_matrix();
}
main()
函数中的这两行只是声明了两个函数。也就是说,你告诉编译器“存在一个名为get_coordinates
的函数。它没有参数,也没有返回”。调用函数如下所示:
void main()
{
get_coodinates();
print_matrix();
}