Тествах много проста програма, написана на C, цялата която е приложена по-долу. При опит да изпълня изпълнимия файл, произведен от TCC, забелязах, че трябваше да въвеждам вход за всеки следващ fgets(), преди действително да видя изход от извиквания на printf().
Това беше много объркващо, така че реших да опитам да стартирам изпълнимия файл на стандартната конзола на Windows. Работеше безупречно и подканите за въвеждане и извеждане бяха показани в правилния ред.
Забелязах обаче, че ако компилирах програмата с GCC, тя щеше да работи добре на терминала, компилиран в Cygwin (mintty, въпреки че получих същите резултати с rxvt).
Може ли някой да даде обяснение защо се случва това и как мога да го спра? Бих искал да компилирам програмите си независимо от Cygwin, докато все още използвам терминал, базиран на Cygwin.
Благодаря!
int main()
{
char something[12];
printf("This printf() should be outputted before you are prompted for input: ");
fgets(something, sizeof something, stdin);
printf("You entered, %s", something);
}