永发信息网

C语言中清除内存缓冲区的函数是什么??

答案:3  悬赏:60  手机版
解决时间 2021-02-20 03:54
C语言中清除内存缓冲区的函数是什么??
最佳答案
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);

// 程序能正常输出
全部回答
是fflush()
free()?
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
在海洋污染中灭绝的生物有哪些
怀想春天的文章
青岛大学高等职业技术学院毕业证是青岛大学还
用“by+V.ing”的形式造5个句子 5问5答
电脑桌面背景变黑而且死机是怎么回事?
阿胜皮鞋店怎么去啊,有知道地址的么
普通股为什么会降低每股净收益
木兰印象婚纱摄影地址在什么地方,想过去办事
家友宅配地址在什么地方,想过去办事
想包素馅饺子,可素馅不像肉馅那么粘,不好包
我男朋友每次吵架就坚决要和我分手,是不是ta
国内买戒指哪个牌子好
我买了一个钻戒钻石重0.250ct总重量2.19g,大
托儿所、幼儿园活动室、音体活动室的外窗台距
喂你好的网址是多少啊?
推荐资讯
为什么动脉断了人就会死
中石化邢台城供团结第五加油站这个地址在什么
南通三德塑胶工业有限公司这个地址在什么地方
固镇县顺达运输有限公司在哪里啊,我有事要去
构成会计分录要素的有借贷方向、科目名称、经
第三题求解答和过程,必采纳
漳州金达灯饰漳浦店怎么去啊,有知道地址的么
有什么好听的店铺名字
乳山市美术装潢有限公司在什么地方啊,我要过
古墓丽影9PS4版有中文配音吗
这部电影是什么,?
数学中的排列和组合怎么区别
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?