1
main()
{
int c;
struct books Book1;
c = getchar();
return 0;
}
這不
main()
{
int c;
c = getchar();
struct books Book1;
return 0;
}
表達式的語法在函數main(並指向空間詞「後struct')
這並不是因爲B的定義低於c = getchar();
,誤差點爲「int」和「b」
main()
{
int c;
struct books Book1;
c = getchar();
int b;
return 0;
}
之間的空間是我有調用函數之前定義每個變量的問題,還是別的什麼?
這是C如何工作,還是它是一個渦輪C的東西?
編輯:發現重複意識到,我的意思是說 「定義」 不 「宣言」
因爲Turbo C是一個過時的編譯器,當你調用代碼之後聲明變量是非法的。 – Havenard
Turbo C不是一個C編譯器,因爲C在1989年首次標準化,在Turbo C發佈後很久。因此它包含了很多非標準的東西http://stackoverflow.com/q/3920351/995714 http://stackoverflow.com/q/1961828/995714 –
好吧謝謝你,我發現了幾個重複後查找「在函數調用之前定義變量」而不是「在函數調用之後聲明變量」,[您可以在C中不能聲明新變量的位置](https://stackoverflow.com/questions/19058143/cant-define-variables函數調用後)和[函數調用後無法定義變量](https://stackoverflow.com/questions/19058143/cant-define-variables-after-a-function-call),應該我刪除了這個問題? – Jose