Я столкнулся с этой странной ситуацией, я не могу обернуться. В следующем коде Программа явно вводит бесконечный l oop, но не выполняет код, предшествующий ей.
#include <stdio.h>
#include <stdlib.h>
int main() {
char buf[100];
if (scanf("%s", buf)==EOF) return 0;
printf("This does not get printed");
while(1) {} //infinite loop
return 1;
}
Каким-то образом команда printf не выполняется даже после нажимая enter
или используя Ctrl-d
. Тем не менее, кажется, что код окажется в бесконечном l oop.
Кто-нибудь объясняет, что здесь происходит? Я использую г cc.