gpt4 book ai didi

c - 当输入的整数少于最大数量时,代码不会运行

转载 作者:行者123 更新时间:2023-11-30 21:05:05 25 4
gpt4 key购买 nike

对于该程序,我知道最多可以输入100个整数,但也可以输入2个整数或3个整数等。但如果我输入的数字少于 100,程序就会一直等待我输入完整的 100。

如果尝试在 for 循环之前执行 while i != '\0' ,然后尝试放置 if i != '\0' scanf 之后,但都不起作用。

printf("enter a list of integers ");
for (; i < 100; i++)
if ((scanf("%d", &list[i])) != 1)
{
break;
}

现在程序只会运行直到输入 100 个整数,但如果用户只想输入较少数量的整数,则需要停止。

最佳答案

如果将 scanf 更改为 gets/sscanf,则可以在输入除有效整数(换行符、字母...)以外的任何内容后停止。

int list[100];
printf("enter a list of integers ");
char tmp[1024];
int i=0;
for (; i < 100; i++) {
gets(tmp);
if (sscanf(tmp, "%i", &list[i]) != 1) break;
}
printf("i is %i\n",i)

关于c - 当输入的整数少于最大数量时,代码不会运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56694282/

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