1 scanf_s需指定%c 个数

h short

l long关键字

* 不赋给任何值

W 指定读入宽度





转换字符

a 读浮点值(c99)

A 读浮点值(c99)

c 读单字符

d 读十进制数

i 读十进制\八进制\十六进制整数

e 读浮点数

E 读浮点数

f 读浮点数

F 读浮点数(c99)

g 读浮点数

G 读浮点数

o 读八进制数

s 读字符串

x 读十六进制数

X 读十六进制数

p 读指针值

n 至此已读入值的等价字符数

u 无符号十进制整数

[] 扫描字符集合

% 读%符号

2 printf

Format %[flags][width][.prec][F][N][h][i]type

转义字符

type

d\i int

o unsigned int(o)

u unsigned int(d)

x\X unsigned int(h)

f float\double 缺省精度为小数点后六位

e\E double(科学计数法+e\E) 只输出7位有效数字

g\G double(F\E最短的,四位小数) 只输出六位有效数字

c char 当接受值为字符串时打印第一个字符,可以把输入的数字按ASCII转换为对应字符

s\S char*\wchar_t*

p void*(h)

% %





flags

 (空格) 右对齐,输出值为负时加上-

- 左对齐

+ 在数字前增加符号+或-(随数字本身)

0 将输出的前面补上0

# o "0" x "0x" X "0X"

e E f g G 一定使用小数点

g G 尾部0保留

width 

用于控制显示数值的宽度

转换结果宽于字段宽度,将拓展字段以包含

小的精度可能发生截断

prec 0 缺省精度

d\o\x\X\i\u 最少数字显示位数

e\f\E 转换的技术字符后的最少数字显示位数

g\G 转换的最大有效数字位数

s 转换中的字符串最大打印字节数目





F\N\h\l

F 远指针

N 近指针

h 短整型

l 长整型





printf 返回值 实际控制输出的字符数

注:远(far)指针





远指针不是让编译程序把程序数据段地址作为指针的段地址部分,而是把指针的段地址与指针的偏移量直接存放在指针内。因此,远指针是由4 个字节构成。它可以指向内存中的任一目标,可以用于任一编译模式,尽管仅在紧凑、大和巨模式下远指针才是缺省的数据指针。因为远指针的段地址在指针内,熟悉80X86 汇编语言的人都知道,这意味着每次使用远指针时都需要重新装载段寄存器,这显然会降低速度。

2远指针与近指针区别





近指针是16位的指针,它只表示段内的偏移地址,因而只能对64k字节数据段内地址进行存取。

如 char near *p;

p=(char near *)0xffff;

远指针是32位指针,它表示段地址:偏移地址,如定义远程指针p指向B500段的2号地址,即B500:0002,则可写作:

char far *p;

p=(char far *)0xB5000002;

因此,远指针可以进行跨段寻址,可以访问整个内存的地址。

注:float精度 6-7位指数范围-127-+128

double 精度 15-16位指数范围-1023-+1024

注:转义字符

通用转义字符 \ooo(8进制) \xddd(16进制)(需区分终端输出和文本输出)

不可打印字符\特殊字符 都用转义字符书写

不可打印字符

换行符 \n 终端输出\n即可,文本文件中输出Lunix"\n" Windows "\n\r" Mac "\r" 

水平制表符 \t 占8列,用于将光标跳到[Tab]键的下一个输出区

纵向制表符 \v 后面的字符从下一行开始输出,且开始的列数为'v'前一个字符所在列后面一列

退格符 \b

回车符 \r 光标回到本行行首,可能覆盖之前的内容

进纸符 \f 清空屏幕再次输出

退格符 \b 

报警符 \a

特殊字符

疑问号 \?

单引号 \'

双引号 \"

反斜杠 \\

C语言中 scanf 和 printf 的小要点的更多相关文章

  1. C语言中scanf()的用法!

    好文章转自:http://blog.tianya.cn/blogger/post_show.asp?BlogID=287129&PostID=3668453 scanf详解 scanf 原型: ...

  2. C语言中scanf/fscanf 的%[]和%n说明符的使用方法

    标准输入输出函数%[]和%n说明符的使用方法     scanf fscanf,均从第一个非空格的可显示字符开始读起!         标准输入输出函数scanf具有相对较多的转换说明符,它常常作为入 ...

  3. c语言中scanf()、printf()函数

    函数调用scanf(“%d”,  &weight) 包含两个参数:“%d” 和&weight.C用逗号来隔开函数调用中的多个参数: 但是printf()和scanf()函数比较特殊,其 ...

  4. gcc c语言中scanf输入格式不正确,清空缓冲区问题

    我的博客:www.while0.com 折磨了一下午,只因为fflush(stdin)再gcc里和vc里表现不一致.gcc里不能够清空缓冲区.直接上例子: #include <stdio.h&g ...

  5. C语言中puts()和printf()区别

    puts的功能更加单一,只能输出字符串:printf的功能更加广,可以格式化数据,输出多种类型的数据. puts()函数用来向标准输出设备(屏幕)写字符串并换行. 调用方式为puts(string): ...

  6. C语言中scanf函数的实现

    接上一篇C语言中可变参数函数实现原理,从理论上详细介绍了C语言中可变参数函数的实现,这一篇从minix内核源码中的scanf函数入手,学习C语言经典可变参数函数的实现过程 在scanf.c文件中,可以 ...

  7. (转)C语言中scanf函数与空格回车

    来源:http://blog.csdn.net/xia7139/article/details/14522493

  8. c语言中的scanf在java中应该怎么表达,Scanner类。

    1 java是面向对象的语言 它没有像C语言中的scanf()函数,但是它的类库中有含有scanf功能的函数 2 java.util包下有Scanner类 Scanner类的功能与scanf类似 3 ...

  9. 关于C语言中printf函数“输出歧视”的问题

    目录 关于C语言中printf函数"输出歧视"的问题 问题描述 探索问题原因 另一种研究方法 问题结论 关于C语言中printf函数"输出歧视"的问题 问题描述 ...

随机推荐

  1. [转载] tcp那些事2

    原文: http://coolshell.cn/articles/11609.html 这篇文章是下篇,所以如果你对TCP不熟悉的话,还请你先看看上篇<TCP的那些事儿(上)> 上篇中,我 ...

  2. STM32学习笔记(二) 基于STM32-GPIO的流水灯实现

    学会了如何新建一个工程模板,下面就要开始动手实践了.像c/c++中经典的入门代码"hello world"一样,流水灯作为最简单的硬件设备在单片机领域也是入门首推.如果你已经有了一 ...

  3. [js] 前端性能优化

    原文链接:http://www.cnblogs.com/xxcanghai/p/5205998.html 链接:http://www.zhihu.com/question/21658448/answe ...

  4. ZendStudio的配置导出

    File(文件)->Export(导 出),再弹出Export窗口中点击"General(常规)",选择"Preferences(首选项)" 点击&quo ...

  5. openfire过滤脏话插件,控制消息是否发送

    参考:http://myopenfire.com/article/getarticle/9 package com.myopenfire.plugin; import java.io.File; im ...

  6. zabbix监控系统客户端安装

    原文:http://blog.chinaunix.net/uid-25266990-id-3387002.html 测试使用agentd监听获取数据. 服务端的安装可以查看http://blog.ch ...

  7. C#_抓包HttpWebRequest跟HttpWebResponse

    1.第一招,根据URL地址获取网页信息  这招是入门第一式, 特点: 1.最简单最直观的一种,入门课程. 2.适应于明文,无需登录,无需任何验证就可以进入的页面. 3.获取的数据类型为HTML文档. ...

  8. SVN使用报错 Synchronize operation failed. RA layer request failed svn: REPORT request on

    使用SVN同步项目时报错 RA layer request failed svn 百度了下解决方法: 删除C:\Documents and Settings\用户名\Application Data\ ...

  9. jQuery的单选,复选,下拉

    单选 获取 ($('input:first').attr('vlaue')); 选中 ($('input:checked').val()); 属性值的设置$().val(属性值)$('input:fi ...

  10. 谱聚类Ng算法的Matlab简单实现

    请编写一个谱聚类算法,实现"Normalized Spectral Clustering-Algorithm 3 (Ng 算法)" 结果如下 谱聚类算法核心步骤都是相同的: •利用 ...