gpt4 book ai didi

c - 刷新输入缓冲区 C

转载 作者:太空宇宙 更新时间:2023-11-04 08:46:49 27 4
gpt4 key购买 nike

注意:fflush(stdin) 无效。

问题:
我使用 scanf(inb4 折旧)在 while 循环中输入数字。当我输入一个时,缓冲区会用空行填充其余部分。

代码:

double input, total;

for(i=0; i<COUNT; i++){
printf("\nNumber %d: ", i+1);
scanf("%d", &input);
total += input;
}
printf("\nAverage: %f\n", total/COUNT);

输出:

Please enter 5 decimal numbers: 
Number 1: 1.0

Number 2:
Number 3:
Number 4:
Number 5:
Average: 0.000000

最佳答案

 if(scanf("%d", &input) != 1)
{
/* If scanf failed to read a number clear the input buffer */
while((c = getchar()) != '\n' && c != EOF);
}

关于c - 刷新输入缓冲区 C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21398110/

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