第2章之編程練習心得20140709

char ch;
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;


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章