网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

为什么scanf函数中不能加\n-创新互联

当代码是scanf(“%d\n”,&a);时

创新互联主要从事网站设计、成都网站制作、网页设计、企业做网站、公司建网站等业务。立足成都服务横峰,十载网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108

如果你输入数字后一直按回车,scanf就会一直阻塞在那里,直到你再一次输入。

而且运行结果只会识别第一个数,不会识别第二个数。如图,

当你代码是scanf(“%d”,&a);时,代码就会很顺利的成功运行

这是为什么呢?为什么scanf 函数中加了\n会出现这种情况呢?

原来,

C程序执行scanf时,会从缓冲区读数据,如果缓冲区是空的,就阻塞住,等待你从键盘输入。

输入结束后按回车会执行scanf函数,程序会逐个读取缓冲区的数据,注意,这时会将\n留在缓冲区(缓冲区只剩下\n)

当代码是scanf(“%d\n”,&a);时,scanf函数的第一个参数(即%d\n)指定了后面变量读取的格式,j就是会按照 数字 回车 的格式读取,当你输入数字结束按回车时,刚好满足这种形式,这时缓冲区内什么都没有。

这时就需要再一次输入然后再按回车,使\n可以留在缓冲区。这样代码才会继续往下执行。

而且,\n是回车的意思,scanf函数是输入函数,顾名思义,输入函数时不需要我们来换行。

所以,使用scanf函数是不需要加\n的,加了反而会出错。

参考https://blog.csdn.net/weixin_44967885/article/details/108994960 

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


本文标题:为什么scanf函数中不能加\n-创新互联
本文链接:http://bjjierui.cn/article/coogps.html

其他资讯