每當我嘗試執行這段代碼時,如果我不使用getch()
函數,它會突然關閉。此外,我已經嘗試了接受和打印像gets()
和puts()
等字符串的不同組合。我的問題是什麼導致此錯誤,我該如何刪除此錯誤?程序在Visual C++中突然終止
void main()
{
char str[100];
printf("Enter your string\n");
fgets(str,100,stdin);
printf("%s",str);
getch();
}
嘗試從cmd會話中手動運行exe,然後程序輸出將出現在會話中並在程序退出後保留在屏幕上。 – Wossname
您剛剛看到用戶從桌面上的快捷方式啓動程序時發生的情況。沒有「按任何鍵繼續」的代碼,完全相同的事情會發生。也許你不希望你的用戶從快捷方式運行它,只能從命令提示符運行它,沒關係,如果你想驗證輸出結果,只需在最後一個花括號上設置一個斷點即可。當然,最好的方法是讓程序以任何方式正確運行,使用GetConsoleProcessList()。 –
爲什麼試圖在不檢查的情況下打印'str'就是'fgets()'成功了? – chux