scanf的注意
来源:互联网 发布:mac 最小化窗口快捷键 编辑:程序博客网 时间:2024/05/21 11:33
scanf函数,与printf函数一样,都被定义在stdio.h里,它是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中,其关键字最末一个字母f即为“格式”(format)之意。
关于scanf的注意:
scanf("%d _ %d",&a,&b)
scanf("%d%d",&a,&b) _表示空格,在输入时,要按照格式输入 ,在两种格式一样,输入的时候要加空格,不如3_4;
scanf("%d,%d",&a,&b)再输入时要加‘,’,比如3,4
键盘缓冲区残余信息问题
#include
int main()
{
int a;
char c;
do{
scanf("%d",&a);
scanf("%c",&c);
printf("a=%d c=%c\n",a,c);
/*printf("c=%d\n",c);*/
}while(c!='N');
}
scanf("%c",&c);这句不能正常接收字符,什么原因呢?我们用printf("c=%d\n",c);将C用int表示出来,启用printf("c=%d\n",c);这一句,看看scanf()函数赋给C到底是什么,结果是 c=10 ,ASCII值为10是什么?换行即\n.对了,我们每击打一下"Enter"键,向键盘缓冲区发去一个“回车”(\r),一个“换行"(\n),在这里\r被scanf()函数处理掉了(姑且这么认为吧^_^),而\n被scanf()函数“错误”地赋给了c.
实际例程
1) "%d%d%d"是按十进值格式输入三个数值。
输入时,在两个数据之间可以用一个或多个空格、tab键、回车键分隔。一定要跟在数字后面
2) 在用"%c"输入时,空格和“转义字符”均作为有效字符。
3) scanf()函数不能正确接受有空格的字符串?
如: I love you!
#include
int main()
{
char str[80];
scanf("%s",str);
printf("%s",str);
return 0;
}
输入:I love you!
输出:I
scanf()函数接收输入数据时,遇以下情况结束一个数据的输入:(不是结束该scanf函数,scanf函数仅在每一个数据域均有数据,并按回车后结束)。
① 遇空格、“回车”、“跳格”键。
② 遇宽度结束。
③ 遇非法输入。
所以,上述程序并不能达到预期目的,scanf()扫描到"I"后面的空格就认为对str的赋值结束,并忽略后面的"love you!".
- scanf的注意细节
- scanf的注意点
- scanf的使用注意
- scanf的注意
- scanf注意
- scanf函数值得注意的几个问题
- scanf();需要注意的几点
- scanf()--需要注意的问题1
- scanf()函数--需要注意的问题2
- scanf需要注意的一点地方
- 04-scanf的其他用法和注意
- scanf一些值得注意的问题
- c语言:scanf需要注意的问题
- scanf函数用法注意~
- scanf使用注意点
- scanf函数注意点
- 未曾注意过的scanf函数的返回值
- 关于连续使用scanf要注意的一个问题
- ldap网络账号(轻量目录访问协议)
- cookie本地信息记录访问次数
- Tomcat启动报错,增加配置查看错误详情
- Hibernate基本原理(一)
- redis和memcache的区别
- scanf的注意
- 田忌赛马
- php & apache2 install under Ubuntu
- Python-kmeans算法实践
- css3新方法calc()用法
- tcpdump的用法
- 纯jq仿今日头条导航栏
- 我的编程马拉松
- 有用的连接