gpt4 book ai didi

c语言:make fgets to keep taking input until I press enter twice?

转载 作者:太空狗 更新时间:2023-10-29 15:30:55 24 4
gpt4 key购买 nike

您好,我想问一下如何针对这个问题修改此代码:(它只接受一个输入然后将其打印出来。我希望它继续运行,直到我按两次 Enter (\n)。

#include <stdio.h>

#define MAXLENGTH 1000
int main(void) {
char string[MAXLENGTH];

fgets(string, MAXLENGTH, stdin );
printf("%s\n", string);

return 0;
}

我对 fgets(string, MAXLENGTH, stdin ); 感到困惑行,stdin 是什么意思/做什么?

编辑:克里斯,我试过你的方法:

    #include <stdio.h>

#define MAXLENGTH 1000
int main(void) {
char string[MAXLENGTH];


do {
if (!fgets(string, MAXLENGTH, stdin ))
break;
printf("%s", string);
}
} while (string[0] != '\n');


return 0;
}

它在我按下 enter 后打印,但我想先输入整个列表,然后在我按 enter 两次后让它打印列表。

最佳答案

试试这个:

#include <stdio.h>
#include <string.h>

#define MAXLENGTH 1000
int main(void)
{
char string[MAXLENGTH];

int i = 0;
for(;;++i)
{
string[i] = getchar();
if (i > 0 && string[i] == '\n' && string[i-1] == '\n') break;
}

string[i] = 0;

printf("Print it again:\n%s",string);

return 0;
}

关于c语言:make fgets to keep taking input until I press enter twice?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2734972/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com