我有以下代码:
char str[0]; // 0 length
while(fgets(str, 100, stdin)) { // It works.
fputs(str, stdout);
}
但是,如果我没有循环,那么它会中断。像这样;
fgets(str, 100, stdin);
fputs(str, stdout);
答案 0 :(得分:0)
因为您的代码调用了未定义的行为(您使fgets()
写入缓冲区的末尾),所以它可以做任何事情。