Eclipse中的C代码存在以下问题。这是最小的代码:
#include <stdio.h>
#include <stdlib.h>
int main(void) {
char inputch[20];
fgets(inputch,20,stdin);
printf("%s", inputch);
getchar();
return EXIT_SUCCESS;
}
代码构建正确,如果我从内置的.exe运行它,它可以正常工作:我写一行并按ENTER,然后输入的行显示在控制台中然后如果我按下键盘上的任何按钮控制台关机。 但是如果我在“eclipse的运行模式”中运行程序,行为是不同的:当我写行并输入ENTER时,没有任何反应;当我再次输入ENTER时,我之前写的行出现在控制台中,程序结束。如果我在第一个和第二个ENTER之间写了一些东西,这条线就不会出现在印章中;但是,标记始终出现在第二个ENTER输入中,与结束程序相同,如getchar和printf被反转。 第二个问题是调试模式:如果我尝试调试代码,如果我在fgets()函数中放置一个断点并尝试进入,调试控制台不允许我在STDIO中写入条目,但是立即迈出下一个声明。
MY CONFIGURATION:eclipse Neon 3 4.6.3 x64,CDT,Cygwin compipler x64,windows 8.1 64 bit 编辑:我也试过miniGW,但问题仍然存在。在这两种情况下,调试器都是GDB 7.6.11