栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言·贴心小函数们

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言·贴心小函数们

1、fflush(stdin)函数
这个函数好像现在不在使用了
而且仅对整型标准输入有效
fflush(stdin)清空标准输入缓冲区
sstdin是standard input(标准输入)的意思
也可以有fflush(stdout)清空标准输出缓冲区


具体实现过程:
在下面的例子里,利用while函数实现scanf循环输入,结束条件:ret=-1;即scanf返回值为-1;
显然我们需要输入的是整型,如果我们输错了,输成了字符型,那么scanf函数就无法匹配成功,此时的scanf返回值为0,则ret=0;只有等于-1时才会停止.那么在scanf 的返回值为0时,有了fflush(stdin)函数1,此时i  = 上次输入正确的数值,且不会一直执行下去
如果没有fflush(stdin)函数,i  = 上次输入正确的数值,但是会一直输出i值。
#include 
#include
//fflush(stdin)清空标准输入缓冲区

int main() 
{ 
    int i;
    int ret;//用来读取scanf的返回值
    
    while(fflush(stdin),(ret = scanf("%d",&i)) != EOF){
        printf("i = %dn",i);
    }
    //EOF是-1,即只要scanf的返回值不等于-1,就会一直输入
    
    return 0; 
}  


#include 
#include
//fflush(stdin)清空标准输入缓冲区,代码块里未包含fflush(stdin)函数

int main() 
{ 
    int i;
    int ret;//用来读取scanf的返回值
    while((ret = scanf("%d",&i)) != EOF){
        printf("i = %dn",i);
    }

    return 0; 
}  


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/971495.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号