我使用一个
scanf("%d%d",&row,&col); // row & col is int
之前
fgets(buf, MAXLEN, stdin); //MAXLEN == 65535 ; buf is char
我想在输入行和列之后输入buf
但fgets将被跳过
有人可以帮我吗?
This issue can arise,如果您输入的内容位于两行中。 scanf()
将在缓冲区中保留换行符;当fgets()
尝试读取输入的其余部分时,它将接收换行符并停止读取。以下可能会修复您的代码:
scanf("%d%d\n", &row, &col);
这也将读取换行符,其余部分留给fgets()
。