`
xitong
  • 浏览: 6202517 次
文章分类
社区版块
存档分类
最新评论

printf和scanf函数

 
阅读更多

一、
printf(),格式化打印输出函数

---------------------------------------------
int i = 10;
printf("%d\n", i);//格式串双引号里的是%d是格式占位符,就是将后面对应的变量按相应的格式输出
---------------------------------------------
%d,%x,%o分别表示十进制、十六进制、八进制
%c表示字符
%ld, %hd, %f, %lf, %s分别表示long int, short int, float, doublt
%p表示地址格式


二、
scanf(),格式化输入函数,返回值为unsigned int类型表示输入成功的数据的个数

---------------------------------------------
int i = 0;
scanf("%d", &i);//双引号里最好只有格式占位符
特别注意:如果格式占位符里有\n或者代表空字符的字符(例如:回车符,换行符,制表符等),则输入数据按回车后会一直等待
直到输入一个非空字符才结束输入
输入一个字符时会用到这个特点
----------------------------------------------------
float f = 0;
char c = 0;
printf("输入一个浮点数:");
scanf("%f", &f);
printf("输入的数是:%f", f);
printf("输入一个字符:");
scanf("%c\n", &c);//此处如果没有\n(即空字符)这会把上一个回车直接打印出来,下面的输出中如果加上%d这回输出回车的ascii码10
//scanf(" %c", &c);//直接在双引号里加如空格也可以
printf("输入的字符是:%c", c);
----------------------------------------------------

特别注意:如果格式占位符里有非空字符(例如:冒号,逗号,感叹号等),则在输入数据时必须与这些非字符串匹配才能成功输入数据
-----------------------------------------------------
int a, b, c;
scanf("%d:%d:%d", a, b, c);//只有输入数据时匹配这些非空字符串时才能成功输入数据
-----------------------------------------------------

特别注意:清空输入缓冲区中的剩余字符
--------------------------------
scanf("%*[^\n]%*c");
--------------------------------

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics