我是一名菜鸟程序员。我正在努力学习C.我试图让一个主程序运行另一个文件。但是,我收到编译时错误。我的IDE说:错误。函数print的隐式声明,还有它说ROW和COL在这里没有定义。当然,我有3个文件,我不明白为什么我得到这些错误。我认为我在头文件中正确定义了ROW和COL,就像你应该这样做。有人可以看到这个简单的代码有问题吗?现在,我有以下代码:为什么这个define指令似乎不起作用?
//p750_eightqueens.h
#ifndef P750_EIGHTQUEENS_H_INCLUDED
#define P750_EIGHTQUEENS_H_INCLUDED
#define ROW 8
#define COL 8
void go(int row, int col);
void print(int array[ROW][COL]);
#endif // P750_EIGHTQUEENS_H_INCLUDED
//p750_eightqueens.c
void go(int row, int col) {
int a[ROW][COL],i,j;
for(i=0;i<ROW;i++) {
for(j=0;j<COL;j++){
a[i][j]=(i==row&&j==col?1:0);
}
}
print(a);
}
void print(int array[ROW][COL]) {
int i,j;
for(i=0;i<ROW;i++) {
for(j=0;j<COL;j++){
printf("%i",a[i][j]);
if (j!=COL-1) printf(" ");
}
printf("\n");
}
}
//now in main.c
#include<stdio.h>
#include<stdlib.h>
#include "p750_eightqueens.h"
int main(){
go(4,4);
return 0;
}
tl; dr。尝试将其归结为要点。 – thang
'p750_eightqueens.c'实际上是否包含'#include“p750_eightqueens.c”'行? – unwind