亚游wwwag8com
你好,游客 登录 注册
背景:
阅读新闻

同时使用scanf()函数和getchar()函数的陷阱

[日期:2018-11-03] 来源:Linux社区  作者:CQWF [字体: ]

亚游wwwag8com,  加拿大《汉和防务评论》月刊6月号报道,这是“凯山”-1A导弹的第一个外国,中国空军在过去5年中了相当数量的“凯山”-1A,国内名称是“红旗”-12。报道称,缅甸进口的“凯山”-1A最有可能将用来保卫其首都。

  随着电商平台的发展,带动了家电渠道的变革发展。家电网购现象呈现上升的趋势。有分析透露,家电网购将会呈现规模扩大化、渠道集中化以及多元化等特点。电商渠道的潜力正在逐步被释放,更大的能量正在聚集。七旬老翁逛街突发脑溢血晕倒 好心男跪地吸痰急救  人和国家都能够进行生态的组织,我们不能把经济技术标准看成是一个封闭的实体,他和整个世界的形成互相依赖,互相依靠。我们制定一个新的全球主义的一种理想模式,一种理性的模式,来制定出新的标准的游戏规则是有必要的。第二个问题,我们中国在标准创新方面,我们到底有两点需要注意,第一点一定要看到中国的社会从改革开放一带这25年来已经变成了一个全新的社会,就是由原来的政府对整个社会和整个文化进行管理,变成了一个由政府,由企业,由NGO组织,像我们今天的互联网实验室解决以后很好的非政治组织,三个系统共同促进社会的发展。在标准的制定过程当中,过分的调整政府的作用,不现实。那么政府和企业,和非盈利组织之间形成互动,良性的互动,共同促进中国的标准的制定。

函数名: scanf

功 能: 执行格式化输入

用 法: int scanf(char *format[,argument,...]);

scanf()函数是通用终端格式化输入函数,它从标准输入设备(键盘) 读取输入的信息。

函数名:getchar

功能:从计算机终端(一般是键盘)输入一个字符。

  同时使用者两个函数时,会有陷阱,代码如下:

#include <stdio.h> 
 
int main(void) 

  char buff[20],ch; 
  int num,i=0; 
  printf("请输入一个数字:\n"); 
  scanf("%d",&num); 
  printf("请输入一个字符串:\n"); 
 
    while((ch=getchar())!='\n') 
    { 
        buff[i] = ch; 
        i++; 
    } 
    buff[i] = '\0'; 
}

如下图:

同时使用scanf()函数和getchar()函数的陷阱

发现并没有给我们输入字符串的机会,直接跳过了11行的while,这就是同时使用这两个函数的陷阱,因为前面的scanf()在读取输入时会在缓冲区中留下一个字符'\n',所以如果不在此加一个getchar()把这个回车符取走的话,getchar()就不会等待从键盘键入字符,而是会直接取走这个“无用的”回车符,从而导致读取有误,要解决这个问题,就要防止在使用getchar()之前还有'\n';处理方法是使用while(getchar()!='\n'); 清除之前的回车;代码如下:

#include <stdio.h> 
 
int main(void) 

  char buff[20],ch; 
  int num,i=0; 
  printf("请输入一个数字:\n"); 
  scanf("%d",&num); 
  printf("请输入一个字符串:\n"); 
    while(getchar()!='\n');   
    while((ch=getchar())!='\n') 
    { 
        buff[i] = ch; 
        i++; 
    } 
    buff[i] = '\0'; 

同时使用scanf()函数和getchar()函数的陷阱

问题完美解决。其实用 if((ch=getchar())=='\n');  也是可以的,只要从缓冲区读出有'\n',就什么也不做,不要忘了有分号;

Linux公社的RSS地址亚游wwwag8com/wwwd35clinuxidcd35ccom/rssFeed.aspx

本文永久更新链接地址亚游wwwag8com/wwwd35clinuxidcd35ccom/Linux/2018-11/155158.htm

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
张帅透露赛后得到利斯基鼓励 欣喜落后时能翻盘 德国赛国羽仅收获两亚军 陈雨菲苦战不敌山口茜 津媒:李盈莹成国家队最小队员 联手朱婷组奥运班底 强迫中国游客购物“黑导游”已被泰国警方逮捕 1800万!拜仁官方宣布签下17岁小妖 签约4年 回家过年前 还有哪些马拉松赛事我们不容错过! 神了!曼城魔术师优雅打服英超 瓜帅的最强大脑 中甲-艾伦梅开二度演神进球 永昌主场3-1轻取新疆 天津人社局再解落户新政:为炒房高考挂靠户籍不行 大豆种植有了“双保险” 中国人食盐量超标75% 快看看你是不是吃太咸了 两男子自称“省委的”拒绝交警检查:让公安局长来
甘肃小伙战冬奥速滑 杨涛:为北京冬奥打基础 喻晓社任南昌大学党委书记 胡永新不再担任 有水喝有球踢 中国建的这条路让非洲母亲热泪盈眶 夺四冠满意职业选手“首秀” 莱德基:处在最佳状态 刷新纪录!上港主场不败已达17场 早将恒大甩在身后 夫妻闹离婚 丈夫为表诚意亲自教酒后妻子如何开车 球员锦标赛第二轮潘政琮T17晋级 李昊桐遗憾出局 罗马赛张帅苦战不敌奥斯塔彭科 无缘晋级16强 特朗普推特“全大写”威胁伊朗 美伊战争要来了? 28岁vs41岁!巅峰超巨打老前辈还需用肘吗-GIF 副班长12连败继续垫底 德克18分独行侠遭翻盘 糯米影业联手爱奇艺 在线票务燃战火?
希腊雅典附近发生森林火灾 1500人撤离 邻居装6个监控都在最高处 姑娘每天不敢拉开窗帘 特朗普:中美之间是“贸易谈判” 贸易战可避免 前英超后卫遭遇车祸不幸去世 曾入选英格兰队 无业男PS“警官证”去保安室调监控:穿拖鞋被识破 台“央行总裁”回应新台币改版:由“促转会”决定 外媒:华为小米等中国智能手机加速进军全球市场 正路多达9场 足彩18035期任九喷34475注501… 真会玩!里贝里和边裁交换球衣:这很特别 老将排行榜:詹姆斯榜首甜瓜第六 魔兽升至第三 现代测试全球首辆自动驾驶燃料电池车:速度达110km/… 超级碗魔咒再度应验 布雷迪连破纪录却遭里程悲 纽厄尔获选为美高协会新总裁 普莱斯任执委会成员 亚游wwwag8com