我試圖在文件demo_f1.c
中聲明變量x
,並將它用於分別具有void f2()
和void f3()
兩個函數的兩個文件demo_f2.c
和demo_f3.c
。如何在多個交互C文件之間使用共享變量?
我有一個驅動程序,使用變量x
和這兩個函數,但它給了我一個錯誤,當我嘗試編譯驅動程序。
demo_f1.c
int x=2;
demo_f2.c
#include"C:\TC\BIN\demo_f1.C"
void f2()
{
extern int x;
printf("In f2 x:%d\n",x);
}
demo_f3.c
#include"C:\TC\BIN\demo_f1.C"
void f3()
{
extern int x;
printf("In f3 x:%d\n",x);
}
Driver.c
#include"stdio.h"
#include"conio.h"
#include"C:\TC\BIN\demo_f1.C"
#include"C:\TC\BIN\demo_f2.C"
#include"C:\TC\BIN\demo_f3.C"
void main()
{
clrscr();
printf("In main program,x:%d\n",x);
f2();
f3();
getch();
}
錯誤:
Compiling C\TC\BIN\Driver.C:
Error C\TC\BIN\DEMO_F1.C 1: Variable 'x' is initialized more than once
Error C\TC\BIN\DEMO_F1.C 1: Variable 'x' is initialized more than once
爲什麼會出現這個錯誤?我該如何糾正它?
你爲什麼#include一個.c文件? – immibis
immibis我知道我應該#include一個.h文件一般,但#includeing一個.c文件也可以。沒有問題。 –