2012-05-25 201 views
0

我想編譯一個非常簡單的C程序。使用自動安裝程序安裝MinGW,然後在我的環境變量上添加C:\ MinGW \ binmingw c編譯

test.c的

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

當我編譯如下:

的gcc -o test.c的TEST.EXE

但我得到這個錯誤,

test.c:函數'main':test.c:5:12:warning:字符常量 其類型過長[由defau啓用] test.c:5:5:警告: 傳遞參數'printf'中的1使得整數指針無 cast [默認啓用] c:\ mingw \ bin ../ lib/gcc/mingw32/4.6.2 /../../../ .. /include/stdio.h:294:37: 注:應爲「爲const char *」,但參數的類型「詮釋」

赦免爲是菜鳥,想學習的東西值得的。謝謝!

+4

您正在使用哪種文本編輯器?它可以用單引號替換雙引號嗎? –

+1

您的代碼編譯在我的桌面minGW上。還有其他事情正在發生,可能會嵌入不可打印的字符,或者Dmitri說你的編輯玩的不公平。 –

+1

記事本++,哦,我現在看到爲什麼。但問題是,它現在編譯,爲什麼我沒有看到任何輸出? –

回答

4

,你得到的比賽正是GCC將產生以下代碼中的錯誤消息的錯誤消息:

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

這是雙引號得到替換爲單引號。

使用記事本或更好的Notepad ++來檢查發生了什麼。

+0

記事本++,哦,我現在看到爲什麼。但問題是,它現在編譯,爲什麼我沒有看到任何輸出? –

+1

不確定爲什麼沒有輸出。嘗試用'「你好\ n」'替換'「你好」''。看看這是否改變了一切。 –

+0

我做了,但仍然沒有輸出。它只是創建一個.exe文件,我試圖雙擊它,但它只是彈出一秒。 –