scanf("%c\n",&a)和scanf("%c",&a)区别
2024-08-30 17:43:31
scanf("%c",&a);
当输入字符的时候,我们按下任意字符 + 回车的时候,回车没有被当作为分隔符,而是作为一个转义字符与输入的字符一起保存在缓存区。第一次scanf从缓存区中取出的是字符,第二次的话取出的是回车转义字符,即\n。
scanf("%c\n",&a)
第一次输入字符+回车,这个回车被编译器默认为分隔符,相当于scanf()只接受了“%c”,与其格式不匹配,继续要求你输入数据,当第二次随便输入一个数据之后,按下回车,这时编译器知道第一个回车不是分隔符,而是需要的匹配的格式。
输入:f回车b
scanf("%c",&a);//a=f
gets(c);//获取到的c为回车
输入:f回车b
scanf("%c\n",&a);//a=f
gets(c);//c=b
最新文章
- Android应用内存泄漏的定位、分析与解决策略
- IOS:Safari不兼容Javascript中的Date问题
- TP-link TL-WN725 USB无线网卡在DX2 CPU下的Xlinux 驱动移植
- MongoDB3.0新特性
- ABAP认识
- Redis-sentinel监控
- Android Device Orientation
- Linux 基础 —— RPM
- JavaScript 应用开发 #4:切换任务的完成状态
- <;原>;ASP.NET 学习笔记之HTML helper中参数何时会是路由参数,何时又会是query string?
- poj1860 解题报告
- replication across two data centers
- 老李分享:Robotium创建Note的实例
- ftp 只需上传禁止下载
- 关于Kafka配额的讨论(2)
- 3200 [HNOI2009]有趣的数列
- python-mysql驱动64位
- scala 隐式详解(implicit关键字)
- hdu1542 Atlantis 线段树--扫描线求面积并
- 关于Spring Security中无Session和无状态stateless