문제

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); 
도움이 되었습니까?

해결책

Because your code invokes undefined behavior (you make fgets() write past the end of your buffer), so it can do anything it pleases.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top