请问我像这样在头文件中定义了flag的全局变量,但是在使用的时候并没有在其他源文件在再次int,只是通过判断将flag赋值1或0,但是却报错说flag重定义,请问大家这是怎么回事
改成 inline int flag = 0
试试?
【相关推荐】
#include<stdio.h>
int main(){
char a;
int flag;
int i,j;
scanf("%c",&a);
int as=a-64;
for ( i=0;i<as;i++){
char b='A';
flag=0;
for (j=0;j<as-1-i;j++){
printf(" ");
}
while (flag<=i){
printf("%c",b);
flag+=1;
b+=1;
}
flag-=1;
b-=1;
if (flag!=0){
while (flag){
b-=1;
printf("%c",b);
flag--;
}
}
printf("\n");
}
return 0;
}
在game.h 文件里,第7行变量定义int flag = 0; 这句改为:extern int flag;
在game.c 文件里,定义全局变量并初始化:int flag = 0;