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);
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 颠茄片中毒了怎么办 拉肚子半个月怎么办啊 肚子里有细菌怎么办 文珠兰叶子黄了怎么办 文殊兰叶子太长怎么办 桑叶牡丹有虫子怎么办? 米兰花叶子枯萎怎么办 一品红叶子不红怎么办 兰花叶有白点怎么办 旱莲花叶子黄怎么办 旱莲花叶子发黄怎么办 长寿冠叶子枯萎怎么办 长寿花枯萎了怎么办 竹节海棠植株发软怎么办 竹节海棠烂根怎么办 倒挂金钟晒伤了怎么办 长寿花已经徒长怎么办 夏天长寿花徒长怎么办 吊金钟叶子蔫了怎么办 四季海棠长虫子怎么办 小金鱼花不开花怎么办 杜鹃花浇肥大了怎么办 四季海棠烂叶子怎么办 竹节海棠叶子干枯怎么办 月月菊花花朵发黑怎么办 枯萎的四季海棠怎么办 夏天蟹爪兰叶子发软怎么办 夏天蟹爪兰掉叶子该怎么办 天竺葵木质化了怎么办 绿萝烂根且叶子发黄怎么办 海棠树叶子发黑怎么办 四季海棠花干叶怎么办 海棠花叶子蔫了怎么办 海棠花叶子发黑枯萎怎么办? 海棠花突然蔫了怎么办 海棠叶子蔫了怎么办? 海棠花叶子打卷怎么办? 海棠花树叶掉了怎么办 龙骨茎蔫了怎么办 长寿花叶尖干枯怎么办 彩叶草突然蔫了怎么办