scanf的用法
来源:互联网 发布:手机直播源码 编辑:程序博客网 时间:2024/05/29 15:55
说来惭愧,我学编程一年多了,但都没怎么认真学,记得去年教我们C语言课的老师是上了十五节课,每节课差不多俩小时,还有过几次上机课,可惜我课上虽然听的还算是比较认真,但课下却没怎么看书,最终结课时感觉自己学到的实在是不多,而且老师讲的吧,怎么说呢,不能说一点儿也不明白,但感觉老师讲的不是特别清楚,而且因为没有及时复习,所以后来又几乎全忘了,关于scanf的用法,我原本也只知道它是个输入函数,其他的就不太了解了,现在看了郝斌老师的C语言视频讲的scanf的用法,唉!他讲了不少我以前不知道的知识,现在我写出来,算是对自己的一个提醒吧!
scanf()【通过键盘将数据输入到变量中】
它有两种用法:
用法一: scanf(“输入控制符”,输入参数);
功能: 将从键盘输入的字符转化为输入控制符所规定格式的数据,然后存入已输入参数的值为地址的变量中。
例如:
# include <stdio.h> int main(void){ int i; scanf("%d",&i);//如果输入123 printf("i=%d\n",i);//输出结果为i=123 return 0;}
用法二: scanf(“非输入控制符 输入控制符”,输入参数);
功能: 将从键盘输入的字符转化为输入控制符所规定格式的数据,然后存入已输入参数的值为地址的变量中(非输入控制符必须原样输入)。
例如:
# include <stdio.h> int main(void){ int i; scanf("m%d",&i);//输入m123正确,输入123错误 printf("i=%d\n",i);//输入m123,输出结果为i=123 return 0;}
另外,需要注意的是,在使用scanf之前最好再使用printf进行操作说明(即提示用户以什么样的方式进行输入)
例如:
# include <stdio.h> int main(void){ int i,j; printf("请输入两个数,中间用空格或回车隔开:"); scanf("%d %d",&i,&j);//输入的两个数之间是空格或回车 //scanf("%d,%d",&i,&j);//输入的两个数之间是逗号(逗号是一个非输入控制符,非输入控制符必须原样输出) printf("i=%d j=%d\n", i, j); return 0;}
还有,scanf中尽量不要使用非输入控制符,尤其不要使用 \n
例如:
# include <stdio.h> int main(void){ int i,j; //使用scanf之前最好先使用printf进行一个操作说明,另外scanf中尽量不要使用非输入控制符,尤其不要用\n printf("请输入两个值,中间用空格或回车隔开:"); //scanf("%d %d\n",&i,&j);//在scanf中不要使用\n,这样不好 scanf("%d %d",&i,&j);//输入的两个数之间是空格或回车 //scanf("%d,%d",&i,&j);//输入的两个数之间是逗号 逗号是一个非输入控制符,非输入控制符必须原样输出 printf("i=%d j=%d\n", i, j); return 0;}
最后,为了防止当程序中有多个输入时,用户在前边的输入有误导致影响到下面的输入,我们可以在输入的后边添加一个
while ( (ch=getchar()) != '\n')
continue;
例如:
# include <stdio.h> int main(void){ int i; char ch;//添加字符数据 scanf("%d",&i); printf("i = %d\n",i); while ( (ch=getchar()) != '\n')//把用户前边的非法输入消除!!! continue; //重点! int j; scanf("%d",&j); printf("j=%d",j); return 0;}
好了, 以上就是scanf的基本用法 ,第一次写博客, 感觉有些吃力,相信以后会好一些.
【所有代码均在window系统下VC6.0下运行通过】
(如有错误,敬请指正)
- scanf 的特殊用法
- scanf的用法
- scanf sscanf的用法
- scanf 的超级用法
- scanf的用法
- 关于scanf的用法
- scanf的用法
- scanf的用法
- scanf()的用法经验
- scanf函数的用法
- scanf 的用法总结
- scanf的用法
- scanf的另一种用法
- scanf 的用法
- scanf()的用法
- scanf的用法汇总
- scanf的用法1
- scanf的用法
- 机器学习课程成绩单
- centos 无线网卡配置
- echo 命令
- Ch4-1: identify if a tree is "balanced" (注:CTCI 第四版和第五版的定义不一样)
- 各种桑心哇
- scanf的用法
- 算法导论 2-1思考题 合并排序中对小数组采用插入排序
- windows 8.1使用Android模拟器并用intel HAXM加速导致蓝屏
- 黑马程序员_Date
- 成熟男人的标准 你达到几条
- 认识JavaScript中的作用域和上下文
- Maximum Subarray
- 除了陆展博和关谷,其他人の收入,一辈子在上海也只能蜗居吧?
- 第5天 反转链表