| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1346 人关注过本帖
标题:这里可以不需要fflush函数吗?
只看楼主 加入收藏
yzc271656088
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2017-6-29
收藏
 问题点数:0 回复次数:4 
这里可以不需要fflush函数吗?
zhuce()/*注册*/ 
{ 
    struct bank *p; 
    int i=0,k=0,judge1,judge2;
    char name[30];
char sex,ch;
char sh[18];
int n;
p=(struct bank*)malloc(sizeof(struct bank));/*给p分配内存*/
    welcome2();
    printf("请输入您的名字(纯英文):");
gets(name);
printf("请输入您的性别(男:1 女2):");
fflush(stdin); 
    scanf("%c",&sex);
    fflush(stdin); 
printf("请输入您的身份证号码:");
gets(sh);
for(n=0;n<strlen(name);n++)/*判断输入信息是否正确*/
{
&nbsp;&nbsp;&nbsp;if(name[n]>='0'&&name[n]<='9')
&nbsp;&nbsp;&nbsp;{&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;printf("您输入的名字有误!\n");
&nbsp;&nbsp;&nbsp;&nbsp;printf("\n请选择:按1返回主页面.&nbsp;按任意键退出:");
&nbsp;&nbsp;&nbsp;&nbsp;fflush(stdin);
&nbsp;&nbsp;&nbsp;&nbsp;scanf("%c",&ch);
&nbsp;&nbsp;&nbsp;&nbsp;fflush(stdin);
&nbsp;&nbsp;&nbsp;&nbsp;if(ch=='1'){system("cls");main();}
&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;exit(0);
&nbsp;&nbsp;&nbsp;}
}
都是类似的代码 问下输入后可以不需要这个缓冲区吗 (不明白这个缓冲区~)
搜索更多相关主题的帖子: struct name printf 输入 stdin 
2017-06-29 15:13
yzc271656088
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2017-6-29
收藏
得分:0 
复制的时候没注意 ;&nbsp;这个是空格
2017-06-29 15:14
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:0 
fflush(stdin) 这本身就是经典的错误用法。
2017-06-29 15:42
yzc271656088
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2017-6-29
收藏
得分:0 
回复 3楼 rjsp
那意思就是可以不用这个了?
2017-06-29 16:11
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10538
专家分:42927
注 册:2014-5-20
收藏
得分:0 
fflush(stdin),stdin就是标准输入,fflush()是一个对C标准的扩充,此函数仅适用于部分编译器(如VC6)。
也可以用如下代码代替:
int c;
while((c = getchar()) != '\n' && c != EOF);

2017-07-01 07:52
快速回复:这里可以不需要fflush函数吗?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017610 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved