char ch;
int right_brace,left_brace;
int compare_result = 0;
right_brace = 0;
left_brace = 0;
char line[LINE_MAX];
int right_brace,left_brace;
int compare_result = 0;
right_brace = 0;
left_brace = 0;
char line[LINE_MAX];
FILE *fp1;
main 函数头是这么写的,然后出现了一大推缺少定义啊 非法的提示,
“FILE”: 将此类型用作表达式非法
“fp1”: 未声明的标识符
原来是 right_brace = 0; left_brace = 0;已经是定义了位于了声明char line[LINE_MAX];FILE *fp1;的前面,因为c编译器要求所有变量的声明要放在函数块的头部,c++没有要求这么做。
char ch;
int right_brace,left_brace;
int compare_result = 0;
char line[LINE_MAX];
FILE *fp1;
right_brace = 0;
left_brace = 0;
这样就对了。
但是如果改成声明的时候就定义,也不会报错。
char ch;
int right_brace,left_brace = 0;
int compare_result = 0;
char line[LINE_MAX];
FILE *fp1;