C语言中清除内存缓冲区的函数是什么??
答案:3 悬赏:60 手机版
解决时间 2021-02-20 03:54
- 提问者网友:欲望失宠
- 2021-02-19 17:50
C语言中清除内存缓冲区的函数是什么??
最佳答案
- 五星知识达人网友:不想翻身的咸鱼
- 2021-02-19 19:00
C语言中清除内存缓冲区的函数是fflush( ),清除输入缓冲区用fflush(stdin); 其中stdin表示标准输入。
该函数通常用在输入类函数的前面,用以清除输入缓冲区中的内容,避免接收到上次残留的内容而出错。
举例如下:
1、不加fflush函数:
// 将输入的5个字符存放到数组str中,并输出
int i;
char ch, str[6]={''};
for(i=0; i<5; i++)
{
scanf("%c", &ch);
str[i] = ch;
}
printf("%s
", str);
// 程序只能输入三个字符(每个字符间包含一个回车符),因为不加fflush函数时,将残留在缓冲区中的回车符也当成了一个字符输入到数组str中。
2、加fflush函数:
int i;
char ch, str[6]={''};
for(i=0; i<5; i++)
{
fflush(stdin); // 清除留在缓冲区中的回车符,确保接收到的是用户输入的字符
scanf("%c", &ch);
str[i] = ch;
}
printf("%s
", str);
// 程序能正常输出
该函数通常用在输入类函数的前面,用以清除输入缓冲区中的内容,避免接收到上次残留的内容而出错。
举例如下:
1、不加fflush函数:
// 将输入的5个字符存放到数组str中,并输出
int i;
char ch, str[6]={''};
for(i=0; i<5; i++)
{
scanf("%c", &ch);
str[i] = ch;
}
printf("%s
", str);
// 程序只能输入三个字符(每个字符间包含一个回车符),因为不加fflush函数时,将残留在缓冲区中的回车符也当成了一个字符输入到数组str中。
2、加fflush函数:
int i;
char ch, str[6]={''};
for(i=0; i<5; i++)
{
fflush(stdin); // 清除留在缓冲区中的回车符,确保接收到的是用户输入的字符
scanf("%c", &ch);
str[i] = ch;
}
printf("%s
", str);
// 程序能正常输出
全部回答
- 1楼网友:低音帝王
- 2021-02-19 21:24
是fflush()
- 2楼网友:西岸风
- 2021-02-19 20:20
free()?
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯