没有合适的资源?快使用搜索试试~ 我知道了~
首页详解C语言中scanf函数使用的一些注意点
(一)基本介绍 Scanf是系统自带的函数,声明包含在stdio.h文件中,因此要是有该函数,必须加载#include<stdio>头文件。当执行到scanf函数时,程序就暂停等待用户输入,该函数只接受变量的地址,格式为&变量名。是一个阻塞式的函数,2用户输入完毕后,则将值赋值给变量,至此函数调用完毕。敲回车键告知计算机键入完毕。 (二)使用注意 ①. 使用scanf函数输入一个字符变量。Char a; scanf(“%c”,&a); ②. 同时输入多个值。Scanf(“%d,%d”,#1,num2); ③. Scanf(“%d\n”,&a);//在内部不能使用\n转义字符,否则没完
资源详情
资源评论
资源推荐

详解详解C语言中语言中scanf函数使用的一些注意点函数使用的一些注意点
(一)基本介绍(一)基本介绍
Scanf是系统自带的函数,声明包含在stdio.h文件中,因此要是有该函数,必须加载#include<stdio.h>头文件。当执行到scanf
函数时,程序就暂停等待用户输入,该函数只接受变量的地址,格式为&变量名。是一个阻塞式的函数,2用户输入完毕后,
则将值赋值给变量,至此函数调用完毕。敲回车键告知计算机键入完毕。
(二)使用注意(二)使用注意
①. 使用scanf函数输入一个字符变量。Char a; scanf(“%c”,&a);
②. 同时输入多个值。Scanf(“%d,%d”,&num1,num2);
③. Scanf(“%d”,&a);//在内部不能使用转义字符,否则没完没了。
注意:在这里两个占位符之间是,隔开,则要求在输入时也使用逗号隔开如输入1,2。此时为num1=1,num2=2。若内部
为“%d#%d”则输入1#2。若内部为“%dy%d”,则输入1y2。如果中间的字符是空格,则在输入时可以用空格隔开,也可以敲tab
键或者是回车键作为分隔符隔开,后两者可以看做是由空格组成的。
(三)一次踩坑的碎碎念(三)一次踩坑的碎碎念…
#include<stdio.h>
int main()
{
char ch;
printf("选择A或者B(按回车键确认):");
scanf("%c",&ch);
while(1)
{
if(ch == 'B' || ch == 'b')
{
printf("对不起,您输入的答案错误,请重新输入!选择A或者B(按回车键确认):");
//getchar();
scanf("%c",&ch);
printf("ch=%c",ch);
}
else
{
printf("正确");
break;
}
}
return 0;
}
上面代码的得到的结果是:
貌似跟我预想的不一样,我本想如果输入的是’B’或者’b’就继续循环输入,但是结果确实直接做了一次循环就停止了。为什么
呢?
原来在循环外的那个scanf做完后按下的回车键进入了缓存,而进入循环执行scanf后(这次输入的也是’b’),缓存的内容应该
是buffer[] ={‘b’,’’};而执行printf(“ch=%c”,ch);时取的值就是’’,所以看上去好像没有执行scanf语句,其他执行了,只是这
次打印的字符不是刚刚输入的’b’,而是它前一个字符’’,所以要达到我本来的效果,则需要先将’’从缓存中清除掉,调用一
次getchar();即可,如上代码也只需将注释的那一句代码解注释即可。
您可能感兴趣的文章您可能感兴趣的文章:C语言中返回错误信息的相关函数用法总结详解C语言中的错误报告errno与其相关应用方法C语言创建链
表错误之通过指针参数申请动态内存实例分析C语言初学者代码中的常见错误与问题C语言编程时常犯十八个错误小结C语言
调试手段:锁定错误的实现方法深入理解C语言中编译相关的常见错误基于C语言中段错误的问题详解C语言 volatile与const同




















weixin_38716519
- 粉丝: 12
- 资源: 911
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助

会员权益专享
最新资源
- ARM Cortex-A(armV7)编程手册V4.0.pdf
- ABB机器人保养总结解析.ppt
- 【超详细图解】菜鸡如何理解双向链表的python代码实现
- 常用网络命令的使用 ipconfig ping ARP FTP Netstat Route Tftp Tracert Telnet nslookup
- 基于单片机控制的DC-DC变换电路
- RS-232接口电路的ESD保护.pdf
- linux下用time(NULL)函数和localtime()获取当前时间的方法
- Openstack用户使用手册.docx
- KUKA KR 30 hA,KR 60 hA机器人产品手册.pdf
- Java programming with JNI
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制

评论0