scanf与printf用法详解
| 格式码\限定符 | h | l | L |
| d,i,n | short | long | |
| o,u,x | unsigned short | unsigned long | |
| e,f,g | double | long double |
| 代码 | 对应的指针参数类型 | 含义 |
| c | char * | 读取和存储单个字符,前导的空白字符不跳过(可以在格式字符串中加入空格来跳过)。若给出宽度,就读取和存储这个数目的字符,后面不会添加NUL,必须保证足够大的数组空间 |
| i d |
int * | 有符号整数被转换。%d解释为十进制。%i根据第一个字符决定值的基数,和整型字符值常量的表示形式相同。10,034,0xa2 |
| u o x |
unsigned * | 无符号整数被转换。u:十进制;o:八进制;x:十六进制 |
| e f g |
float * | 期待一个浮点值。他的形式必须像一个浮点型字面值常量,但小数点并不必须 |
| s | char * | 读取一串非空白字符,当发现空白时则输入停止。后面自动加上NUL。必须保证足够大的数组空间 |
| n | int * | 处理字符的个数 |
fgets(buf,20,stdin);
char *p = strrchr(buf,'\n');
*p = '\0'; //去除回车符
if(sscanf(buf,"%d%d%d",&a,&b,&c) != 3)
{
a = 1; //defalut value of a
if(sscanf(buf,"%d%d",&b,&c) != 2)
{
b = 1; //default value of b
if(sscanf(buf,"%d",&c)!=1)
{
printf("input error\n ");
exit(1);
}
}
}
printf("a = %d\nb=%d\nc=%d\n",a,b,c);
| 标志 | 含义 |
| - | 左对齐;默认右对齐 |
| 0 | 右对齐时,用0填充左边未使用的列;默认用空格填充 |
| + | 当一个数为正数时,前面加上一个+号,默认不显示 |
| 空格 | 当一个数为正数时,前面加上一个空格,默认不显示 |
| 修改符 | 作用对象 | 表示类型 |
| h | d,i,o,u,x | short型整数 |
| l | d,i,o,u,x | long型整数 |
| l | e,f,g | long double型数据 |
| 代码 | 参数 | 含义 |
| c | int | 参数被裁剪为unsigned char类型并作为字符打印 |
| d i |
int | 作为一个十进制整数打印 |
| o u x |
unsigned int | 参数作为一个无符号值打印,u使用十进制,o使用八进制,x使用十六进制 |
| e、f、g | double | 参数按照浮点数打印,精度缺少为6位 |
| s | char * | 打印一个字符串 |
| n | int * | 打印字符的个数 |
int main()
{
float a = 3.14;
double b;
sscanf("3.42","%lf",&b); //将字符串转换为数值double
sprintf(buf,"%.2f",a); //将double型数值转换为字符串
printf("b = %.2f\n",b);
printf("buf is:%s\n",buf);
}
data = 12345;
char buf[20];
sprintf(buf,"%d%n",data,&number); //利用snprintf防止访问内存越界:snprintf(buf,20,"%d%n",data,&number);
printf("data is %d,has %d characters\n",data,number);
scanf与printf用法详解的更多相关文章
- C语言printf用法详解
#include <stdio.h> int main() { printf("%s","hello world1!\n");//%s字符标志可省略 ...
- golang格式化输出-fmt包用法详解
golang格式化输出-fmt包用法详解 注意:我在这里给出golang查询关于包的使用的地址:https://godoc.org 声明: 此片文章并非原创,大多数内容都是来自:https:// ...
- C语言对文件的操作函数用法详解1
在ANSIC中,对文件的操作分为两种方式,即: 流式文件操作 I/O文件操作 一.流式文件操作 这种方式的文件操作有一个重要的结构FILE,FILE在stdio.h中定义如下: typedef str ...
- ZT --- extern "C"用法详解 2010-08-21 19:14:12
extern "C"用法详解 2010-08-21 19:14:12 分类: C/C++ 1.前言: 时常在cpp的代码之中看到这样的代码: #ifdef __cplusplus ...
- 【转】 #define用法详解
#define用法详解 1.#define 的作用 在C或C++语言源程序中允许用一个标识符来表示一个字符串,称为“宏”.被定义为“宏”的标识符称为“宏名”.在编译预处理时,对程序中所有出现的“宏 ...
- JS逗号运算符的用法详解
逗号运算符的用法详解 注意: 一.由于目前正在功读JavaScript技术,所以这里拿JavaScript为例.你可以自己在PHP中试试. 二.JavaScript语法比较复杂,因此拿JavaScri ...
- C语言 sscanf用法详解
/* sscanf用法详解 */ #include <stdio.h> /* sscanf头文件 */ #include <stdlib.h> #include <str ...
- C语言对文件的操作函数用法详解2
fopen(打开文件) 相关函数 open,fclose 表头文件 #include<stdio.h> 定义函数 FILE * fopen(const char * path,const ...
- memset用法详解
原文:http://www.cnblogs.com/PegasusWang/archive/2013/01/20/2868824.html 1.void *memset(void *s,int c,s ...
随机推荐
- zoj 3471 Most Powerful(状态压缩dp)
Recently, researchers on Mars have discovered N powerful atoms. All of them are different. These ato ...
- 网络编程API-下 (I/O复用函数)
IO复用是Linux中的IO模型之中的一个,IO复用就是进程预先告诉内核须要监视的IO条件,使得内核一旦发现进程指定的一个或多个IO条件就绪,就通过进程进程处理.从而不会在单个IO上堵塞了. Linu ...
- 【欧拉函数】【HDU1286】 找新朋友
找新朋友 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- Model注解的后台原理
Asp.net MVC的验证特性是由模型绑定器.模型元数据.模型验证器和模型状态组成的协调系统的一部分. 1.验证和模型绑定 默认情况下,Asp.net MVC框架在模型绑定石执行验证逻辑,在操作方法 ...
- Unity IOC注入详细配置(MVC,WebApi)
一直想写一篇关于unity 详细的配置信息的文章,也算是自我总结吧 先介绍了unity , Unity是微软官方推荐使用的轻型的IOC框架,支持各种方式的注入 ,使用来解耦的利器. 获取unity 的 ...
- ios app相互调用
被调用app配置 - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NS ...
- ASP.NET,Razor语句中@符号的意义
比较下面两段代码的区别: <td> @if (item.ModifyTime.HasValue) { @item.ModifyTime.GetValueOrDefault().ToStri ...
- JS 一个修改ul的小示例
javascript提供了innerHTML属性可以获取和设置对象的文本内容. 下面实例演示——单击<ul>下的<li>标签后,改变其显示值: 1.HTML结构 <ul ...
- My97DatePicker使用的问题
我在iframe中使用My97DatePicker时,发现第一次点击左边的菜单时,在右边的页面可以弹出日期框: 当我第二次点击菜单时,右边的日期文本框却弹出了页面的内容,而不是日期选择框: 首先怀疑是 ...
- Android studio GPU Monitor :GPU Profiling needs to be enabled in the device's developer options
Android studio GPU Monitor 在真机上不能使用,提示:GPU Profiling needs to be enabled in the device's developer o ...