語法錯誤 : 缺少“;”(在“型別”的前面)的解決方案
今天測試了一個以.c結尾的C語言程式。原始程式碼如下:
- #include <stdio.h>
- #include <stdlib.h>
- int main(int argc, char **argv)
- {
- fprintf(stdout, "Hello C\n");
- int i;
- for (i = 0; i < 10; i++)
- {
- fprintf(stdout, "%dst Hello C\n", i);
- }
- getchar();
- return 0;
- }
然後使用Visual Studio編譯,我了個去!!!竟然有這個錯誤:
- 1>c:\users\administrator\desktop\c_lan\c_test\c_test.c(7) : error C2143: 語法錯誤 : 缺少“;”(在“型別”的前面)
- 1>c:\users\administrator\desktop\c_lan\c_test\c_test.c(8) : error C2065: “i”: 未宣告的識別符號
- 1>c:\users\administrator\desktop\c_lan\c_test\c_test.c(8) : error C2065: “i”: 未宣告的識別符號
- 1>c:\users\administrator\desktop\c_lan\c_test\c_test.c(8) : error C2065: “i”: 未宣告的識別符號
- 1>c:\users\administrator\desktop\c_lan\c_test\c_test.c(10) : error C2065: “i”: 未宣告的識別符號
網上找了找,有人說可以把字尾改為.cpp。我很不樂意這樣做,因為這樣違背了我的初衷了。
繼續找。很好,這個錯誤的原因終於找到了。很久以前C語言的標準規定標量要在函式開始的時候定義或者宣告。在解釋一下,我把語言中自己就代表一個變數元素的變數成為標量,把可以容納多個元素的變數成為陣列。實際上有些人把陣列稱為向量,但是向量是數學中的概念,在數學中,向量分量稱為第幾維分量,分量數用維度說明,這樣總是混淆。
在說一遍結論:在C語言裡,最好把所有的變數宣告放到計算之前,先宣告再使用,這樣就不會有這類錯誤了。
改一下的程式碼:
- #include <stdio.h>
- #include <stdlib.h>
- int main(int argc, char **argv)
- {
- int i;
- fprintf(stdout, "Hello C\n");
- for (i = 0; i < 10; i++)
- {
- fprintf(stdout, "%dst Hello C\n", i);
- }
- getchar();
- return 0;
- }
希望對給位有用啊。。。
fromhttp://blog.csdn.net/bendanban/article/details/7665076
相關文章
- C++ error C2143: 語法錯誤: 缺少“;”(在“*”的前面)C++Error
- C語言中幾種報錯型別的解決方案C語言型別
- 菜鳥調錯(八)—— Maven編譯錯誤:不相容的型別的解決方案Maven編譯型別
- 在伺服器增加引數檔案event事件語法錯誤的解決伺服器事件
- 強型別 JavaScript 的解決方案型別JavaScript
- 解決Eclipse啟動報缺少javax/annotation/PostConstruct的錯誤EclipseJavaStruct
- 解決MySQL server has gone away錯誤的解決方案MySqlServerGo
- dns錯誤怎麼辦 dns錯誤的解決辦法DNS
- latex 錯誤以及解決方案
- scp出現錯誤的解決辦法
- samba一個錯誤的解決辦法!Samba
- 在RAC 中解決 vipca 和 srvctl 無法執行的錯誤PCA
- ORA-00845的錯誤與解決方案
- SVN 遇到的一些錯誤解決方案
- iOS路上遇到的錯誤及解決辦法iOS
- ORA-12705,錯誤的解決辦法
- SPFILE引數修改錯誤的解決辦法
- ORA-12170錯誤的解決辦法
- 執行無法解決的編譯錯誤編譯
- WCF執行錯誤:“此集合已經包含方案 http 的地址”的解決辦法HTTP
- SAP錯誤提示解決辦法
- ClamAV無法更新錯誤解決
- air 讀取sqlite的Date型別 解決方案AISQLite型別
- SSL錯誤ssl connect error 35的解決方案Error
- MySQL連線錯誤(10048)的解決方案MySql
- [轉]MySql錯誤程式碼1045的解決方案MySql
- 寬頻連線錯誤678 寬頻連線錯誤691錯誤的解決辦法
- 開機checking file錯誤的解決辦法
- VPN連線800錯誤的解決辦法(轉)
- Winform無法載入基類的錯誤解決ORM
- ORA-01034錯誤的解決辦法
- 安裝wsl錯誤的一種解決辦法
- Ubuntu Cannot allocate memory 錯誤解決方案Ubuntu
- ORA-28000錯誤解決方案
- ORA-07445: 錯誤解決方案
- ORA-00054錯誤解決方案(摘)
- 網頁證書錯誤怎麼回事 證書錯誤的解決辦法網頁
- 常見的錯誤日誌型別型別