Because your code invokes undefined behavior (you make fgets()
write past the end of your buffer), so it can do anything it pleases.
why passing greater buffer size to fgets allowed by compiler
Pergunta
I have the following code:
char str[0]; // 0 length
while(fgets(str, 100, stdin)) { // It works.
fputs(str, stdout);
}
But if I do without loop, then it breaks. like this;
fgets(str, 100, stdin);
fputs(str, stdout);
Solução
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow