2017-07-12 30 views
0

我剛剛開始用C語言編寫代碼,但是不管我嘗試什麼,我總是收到一個語法錯誤。「接近意外標記的語法錯誤'(' 「在我的程序中'('附近的語法錯誤是什麼?

#include<stdio.h> 
int main() 
{ 
printf("Hello World"); 
return 0; 
} 

我試着用

gcc helloworld1.c -o helloworld1 
cc helloworld1.c -o helloworld1 

,並能順利完成編譯編譯它,但是當我嘗試運行它,它總是螺絲了,給我的語法錯誤消息。任何幫助謝謝!

+1

這個'#include ' - >'#include ' –

+6

你是怎麼運行它的?代碼很好,所以你必須試圖錯誤地執行它。 – kevinsa5

+6

它不能編譯沒有錯誤,並抱怨語法錯誤。在編譯時檢查語法錯誤。 –

回答

5

根據BLUEPIXY的評論,很明顯,您致電./helloworld1.c而不是./helloworld1。因此,你的shell需要一個shell腳本,但是C源代碼不是一個有效的腳本(比如bash或類似的東西)。因此,shell(而不是C編譯器)會給你一個語法錯誤,這與語言C根本沒有任何關係。與文件test.c我複製到其準確的下面幾行代碼嘗試了:

test.c的

#include<stdio.h> 
int main() 
{ 
printf("Hello World"); 
return 0; 
} 

然後我打電話chmod +ux test.c使其可執行文件,並最終把它稱爲在終端(這需要一個bash腳本):

./test.c 

收率:

./test.c: line 2: syntax error near unexpected token `(' 
./test.c: line 2: `int main()' 

錯誤在第2行,因爲第一行#include...#開頭,因此被解釋爲註釋。

+0

您能解釋OP的具體錯誤消息是如何發生的嗎?很明顯,無論何種解釋器被調用,都會在遇到語法錯誤之前將它放到第二行。 – kevinsa5

+0

只是好奇,你的'minmax.c'文件有什麼權限? ..我希望得到一個「Permission denied」錯誤,,,除非執行標記因爲某種原因被設置爲'.c'文件 – yano

+0

@yano:我也很好奇,因爲我必須這樣做手動。但OP可能使用非unix/linux/mac-os系統... –