我正在创建一个反转每一行输入的程序。
这是我的代码:
#include <stdio.h>
#include <string.h>
int main()
{
char c[100];
while((fgets(c,100,stdin)) != NULL)
{
c[strlen(c) - 1] = '\0';
for(int i=strlen(c); i>=0; i--)
{
printf("%c",c[i]);
}
}
}
我的测试输入:
abc 123
lorem ipsum
dolor sit amet
我可以很好地打印第一行:
abc 123
321 cba
但是当我开始输入下一行输入时,它就在反向输入的旁边,所以为测试输入运行的完整程序如下所示:
abc 123
321 cbalorem ipsum
muspi meroldolor sit amet
tema tis rolod
什么时候应该是这样的:
abc 123
321 cba
lorem ipsum
muspi merol
dolor sit amet
tema tis rolod
作为一种解决方法,我Enter在输出后再次按下以能够在自己的行上输入下一行输入,但我不明白为什么我需要这样做。