用C语言缓冲是什么意思?

临时存储区称为缓冲区。所有输入输出(I / O)设备都包含I / O缓冲区。

当我们尝试传递超过所需数量的值作为输入时,其余值将自动保存在输入缓冲区中。如果存在,此缓冲区数据将自动转到下一个输入功能。

我们必须先清除缓冲区,然后再接受下一个输入。

示例

以下是缓冲区的C程序-

#include<stdio.h>

void main(){

   int a,b;

   printf("\n Enter a value: ");

   scanf("%d",&a);

   printf("\n Enter b value: ");

   scanf("%d",&b);

   printf("\n a+b=%d ",a+b);

   getch();

}

输出结果

执行以上程序后,将产生以下结果-

Enter a value: 1

Enter b value: 2

a+b=3

再次运行该程序。这次,我们尝试在a中而不是b中输入值。

Enter a value: 1 2 3

Enter b value: a+b=3

即使我们没有输入b值,它也会采用先前存储的值,该值已经存在于缓冲区中。

在实现中,当我们需要删除标准输入缓冲区数据时,则执行flushall()或fflush()功能。

  • flushall()−这是stdio.h中存在的预定义函数。通过使用flushall,我们可以从I / O缓冲区中删除数据。

  • fflush() −这是“ stdio.h”头文件中的预定义函数,用于清除输入或输出缓冲存储器。

  • fflush(stdin)−用于清除输入缓冲存储器。建议在编写scanf语句之前使用。

  • fflush(stdout)−用于清除输出缓冲存储器。建议在printf语句之前使用。

以上是 用C语言缓冲是什么意思? 的全部内容, 来源链接: utcz.com/z/333658.html

回到顶部