我是一名菜鳥程序員。我正在努力學習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