gpt4 book ai didi

c - 这个循环会执行多少次?

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

我编写了这段代码,它接受用户输入的整数 (t)。循环只会执行“t”次。但我发现它运行了 (t-1) 次。例如,如果我输入 3,它只运行 2 次。任何人都可以解释为什么会这样吗?

我尝试并使用了 scanf("%s", &str),它有效,但我无法将包含空格的字符串作为输入。

#include <stdio.h>
int main()
{
int t;
scanf("%d", &t);
while(t--)
{
char str[100];
gets(str);
printf("%s\n", str);
}
return 0;
}

最佳答案

scanf("%d", &t) 仅消耗输入流中的数字并保留其余字符。当您输入一个数字并按回车键时,数字后面有一个换行符。

第一个gets 读取这个换行符并返回一个除换行符外为空的字符串。循环的第一次迭代打印此空行。

关于c - 这个循环会执行多少次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21437760/

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