2016-11-04 93 views
1

在編寫一個簡單的C程序時,我遇到了「printf」不會產生任何結果的問題。代碼:在Cygwin中運行C程序不會產生任何結果

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

Cygwin的日誌編譯和運行後:

[email protected] /cygdrive/c/users/MMGV/Desktop/Programme 
$ gcc test.c -o test.exe 

[email protected] /cygdrive/c/users/MMGV/Desktop/Programme 
$ test.exe 

[email protected] /cygdrive/c/users/MMGV/Desktop/Programme 
$ 

沒有錯誤消息,根本不算什麼。在Windows GUI中打開生成的.exe也不起作用。 感謝您的幫助!

+1

嘗試在消息後添加'\ n'。如果沒有行結束,緩衝區可能不會被刷新。 –

+0

沒有工作:/ – Maspital

+1

任何情況下都應該有一個換行符。如果您可以確認問題仍然存在,請將其添加到問題的代碼中。你究竟如何嘗試運行該程序?你是否在shell提示符下鍵入類似'。/ hello'的東西?您是否雙擊Windows GUI中的'.exe'文件? –

回答

1

程序更改爲

#include<stdio.h> 
int main() 
{ 
    printf("Hello World\n");   // add newline 
    getchar();       // wait for an input (newline) 
} 

因爲在Windows中,你有機會看到它的前控制檯窗口可能關閉。

+0

爲Windows GUI工作,謝謝。但爲什麼我在Cygwin中仍然看不到任何東西? – Maspital

+0

cygwin對我而言未知。我只是從控制檯使用MSVC,甚至不使用IDE。 –

1

你沒有運行你的程序。默認情況下,Cygwin shell沒有路徑中的當前目錄。將test.exe解析爲標準的類Unix實用程序(嘗試which test)。您需要指定當前目錄明示:

$./test.exe 
相關問題