Printf 和 scanf 的用法 ( 简单入门)
来源:互联网 发布:源氏木语 知乎 编辑:程序博客网 时间:2024/04/28 03:09
其实为啥要说这两个东西呢?
因为有时候,题目会告诉你,输入数据很大,请用scanf输入,如果用cin,有可能没读完就超时了。
而且scanf和printf在控制输入输出格式方面,比cin和cout要好看一些,例如北大oj的题目很多时候会让你输出 形同 “ Case i : @!$#% = 答案 ” 这样的答案。。。
下面开始说 scanf 和 printf 怎么用了:
首先 , 他们在头文件 <stdio.h> 里面
先说printf:
格式:printf(“格式控制串”,输出表)
功能:按指定格式向显示器输出数据
返值:正常,返回输出字节数;出错,返回EOF(-1)
输出表:要输出的数据(可以没有,多个时以“,”分隔)
格式控制串:包含两种信息
(1)格式说明: %[修饰符]格式字符 ,用于指定 输出格式
(2)普通字符或转义序列:原样输出
格式字符表 + 附加格式说明符表(修饰符):
下面看看几个例子:
int a = 10;pritnf("Hello world") //输出"Hello world"pritnf("%d Hello world",a) //输出"10 Hello world"
int a=1234; double d=123.456; printf(“%08d\n”,a); //00001234 printf(“%010.2lf\n”,d); //0000123.46
int a=123; printf(“%o,%#o,%X,%#X\n”,a,a,a,a); //173,0173,7B,0X7B
再说scanf:
格式: scanf(“格式控制串",地址表)
功能:按指定格式从键盘读入数据,存入地址表指定的存储单元中,并按回车键结束
返值:正常,返回输入数据个数
地址表:变量的地址,常用取地址运算符 &(这里很重要,要是一个地址,不只是一个变量名字)
格式字符:d,i,o,x,u,c,s,f,e
int a;scanf("%d",a); // ×scanf("%d",&a);// √
修饰符功能:
修饰符例子:
scanf(“%4d%2d%2d”,&yy,&mm,&dd);//输入 19991015 //则1999->yy, 10->mm, 15->dd
下面再看看几个例子:
scanf(“%d%o%x”,&a,&b,&c);printf(“a=%d,b=%d,c=%d\n”,a,b,c); //输入 123 123 123回车 //输出 a=123,b=83,c=291
scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);//输入 a=12,b=24,c=36回车//12 -> a , 24 -> b,36->c
注意:用“%c”格式符时,空格和转义字符作为有效字符输入
scanf(“%c%c%c”,&c1,&c2,&c3); //若输入abc回车 //则a->c1, ->c2, b ->c3
输入数据时,遇以下情况认为该数据结束:
遇空格、TAB、或回车
遇宽度结束
遇非法输入
scanf(“%d%c%f”,&a,&b,&c); //若输入1234a123o.26回车 //则 1234->a, ‘a’->b, 123->c
上面例子输入函数就留下了o.26这些垃圾了
可以用格式串中空格或“%*c”来“吃掉”:
int x;char ch;scanf(“%d”,&x);//读完整形以后后面还有一个回车符号scanf(“ %c”,&ch);//或scanf(“%*c%c”,&ch);
嗯,printf 和 scanf 大致先介绍到这里。
下面可以参考一下hdoj 1089 - 1096 试验一下。
题解稍后出炉,请耐心等待。
- Printf 和 scanf 的用法 ( 简单入门)
- scanf 和 printf的一般用法
- 测试printf 和scanf函数的用法
- scanf 和 printf的一般用法
- scanf和printf的另类用法
- scanf和printf的用法详解
- 浅析printf和scanf的用法与返回值
- scanf和printf的缓冲区
- printf 和 scanf 的使用
- printf ,scanf 的应用和区别
- scanf(),printf()和gets(),puts()的区别
- printf和scanf函数的返回值
- 关于scanf函数和printf的总结
- scanf和printf的几点想法
- printf()和scanf()的*修饰符
- printf 和scanf 的使用范围
- scanf和printf函数的返回值
- C语言printf和scanf的使用
- hadoop打补丁
- static c ,C++类static 成员变量
- image segmentor emulating eCognition's Multiresolution segmentation source code and user guide
- BT、VeryCD倒下了,但是后继有种
- VC6下安装与配置OpenCV1.0
- Printf 和 scanf 的用法 ( 简单入门)
- 标题环境的分割返回最后一个值 (Slices in scalar context return the last item of the slice. )
- CACHE的一些基本概念
- HTC G7简单刷机个人经验总结
- 【二分图+最小覆盖+简单题】杭电 hdu 1054 Strategic Game
- 阿里巴巴2012校园招聘笔试题【转自网络】
- 今天继续学习了IO流
- 用Netfilter模块实现基于令牌桶的每IP地址流量控制
- request中的乱码问题