C语言结构体为什么用gets和puts输入和输出 经常出现错误?因为你没有用getchar()也就是冲掉回车键
来源:互联网 发布:药智网数据库中标 编辑:程序博客网 时间:2024/05/21 11:28
你这个的问题在于,gets()以回车做为分隔符,当你输入日时你会打一个回车,系统就将这个回给了gets()但是gets()又以回车做为分隔符,所以这个回车并没有读入进gets()中,所以最终会直接输出。
改正的程序如下:如果不明白为什么,可以记住,这种东西没有什么好说的。
#include <stdio.h>
#include <string.h>
struct kind
{
int year;
int month;
int day;
char menber[20];
} all;
void main()
{
printf("请输入年分\n");
scanf("%d",&all.year );
printf("请输入月份\n");
scanf("%d",&all.month);
printf("请输入日\n");
scanf("%d",&all.day);
getchar();////////////////////////////////////////////
printf("请输入成员\n");
gets(all.menber);
printf("%d年%d月%d日 成员%s\n",all.year ,all.month ,all.day ,all.menber );
}
printf("请输入成员\n");
fflush(stdin); //清洗输入流,OK
gets(all.menber);
改正的程序如下:如果不明白为什么,可以记住,这种东西没有什么好说的。
#include <stdio.h>
#include <string.h>
int year;
int month;
int day;
char menber[20];
void main()
{
printf("请输入年分\n");
scanf("%d",&all.year );
printf("请输入月份\n");
scanf("%d",&all.month);
printf("请输入日\n");
scanf("%d",&all.day);
getchar();////////////////////////////////////////////
printf("请输入成员\n");
gets(all.menber);
printf("%d年%d月%d日 成员%s\n",all.year ,all.month ,all.day ,all.menber );
}
printf("请输入成员\n");
fflush(stdin); //清洗输入流,OK
gets(all.menber);
0 0
- C语言结构体为什么用gets和puts输入和输出 经常出现错误?因为你没有用getchar()也就是冲掉回车键
- C 输入、输出库函数学习总结(printf & scanf, gets & puts, fgets & fputs, getchar & putchar)
- 字符串输入gets()、fgets()和字符串输出puts()、fputs()函数
- 输入和获取字符的使用(putchar,getchar,puts,gets,fputc,fgetc,fscanf,fprintf)
- C语言基础—字符串输入输出函数puts和gets
- 关于gets()/puts() 和getchar()/putschar() 和getline()
- 【C语言天天练(十八)】字符/字符串输入函数fgetc、fgets、getc、getchar和gets
- 使用库函数getchar和puts实现字符串的输入和输出
- C语言getch(),getchar()和gets()和缓冲区溢出
- gets()和puts()
- gets和puts函数
- gets和puts
- 输入与输出函数(printf、putchar、puts和scanf、getchar)
- getchar、gets、puts 详解
- putchar()、getchar()、puts()、gets()
- c语言中的 puts gets
- C语言 gets(),puts()函数
- C语言数据输入scanf( )和getchar( )
- java属性文件properties常用操作工具类
- 删除 Map 中不满足条件的元素
- log4j.properties配置文件
- .gitignore失效的解决办法
- 写一个代理(java写一个接口)
- C语言结构体为什么用gets和puts输入和输出 经常出现错误?因为你没有用getchar()也就是冲掉回车键
- Problem 028——Uva 101 - The Blocks Problem
- didMoveToSuperview - UITableVIew重刷新列表,内存分配问题
- 打地鼠游戏ios源码
- 数据库基本示例
- 读书日记之编程之美系列(一)
- JVM总结(一)
- UIPickerView 就是Android的选择器
- Spring AOP 实现原理