📄 00000008.htm
字号:
<HTML><HEAD> <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>发信人: <A HREF="mailto:ax.bbs@bbs.ee.nthu.edu.tw.">ax.bbs@bbs.ee.nthu.edu.tw.</A> (athena), 信区: test <BR>标 题: 星星流讲座 0015 <BR>发信站: ☆清华电机☆ (Sun May 14 12:35:45 1995) <BR> <BR> <BR>第 3 讲 之 8 基本的输入与输出 <BR> Topic: Usage of scanf (2) <BR> <BR>scanf 的 Type 栏位其意义列表如下: <BR> <BR> 型态 意义 <BR> -------------------------------------------------- <BR> c 单一字元,在此格式下所有的空白字元 <BR> 都不会被忽略,这是比较特殊的。 <BR> d 十进位有号整数。 <BR> e f g 有号浮点数,浮点数可以用科学记号的 <BR> 方式由键盘输入,scanf 会自动把 e或 <BR> E 之後的数字当成次方数。 <BR> i 有号整数,可以是十进位、八进位 (以 <BR> 0 开头) 或十六进位 (以 0x 开头)。 <BR> n 此非真正的读取格式,对应此格式的参 <BR> 数必须为整数,它的内容是由键盘输入 <BR> 的字元数目。 <BR> o 无号八进位数 (不管有无 0 开头均视 <BR> 输入为八进位数)。 <BR> p 位址。 <BR> s 字串。 <BR> u 无号十进位数。 <BR> x 无号十六进位数 (不管有无 0x 开头均 <BR> 视输入为十六进位数)。 <BR> % 无特别意义,只是要求输入 % 这个字 <BR> 元。 <BR> <BR>scanf 的 Size 栏位是用来配合 Type 栏位使用的,它的意义列表 <BR>如下: <BR> <BR> 前置词 使用时机 <BR> -------------------------------------------------- <BR> h 当以 d、i、o、x、u 读取整数值时, <BR> 用以代表参数为短整数。 <BR> l 当以 d、i、o、x、u 读取整数值时, <BR> 用以代表参数为长整数。以 e、f、g <BR> 读取浮点数时则代表读取的数值型态 <BR> 为 mdouble0m。long double <BR> 型态必须用大写的前置词 L 来指定。 <BR> <BR>Type 栏位另有两种比较罕用的用法,列表如下: <BR> <BR> 型态 意义 <BR> -------------------------------------------------- <BR> [...] 型态正比对 (pattern matching),它是 <BR> 用来比对输入字串用的。 <BR> [^...] 型态反比对,见例子。 <BR> <BR>什麽叫做比对输入字串呢?请看□例程式: <BR> <BR>/* match.c */ <BR>#include <stdio.h> <BR> <BR>void main (void) <BR>{ <BR> char s[10]; <BR> <BR> printf ("Input string: "); <BR> scanf ("%[12345]", s); <BR> printf ("%s\n", s); <BR>} <BR> <BR>执行结果: <BR>Input string: 123ab4 <BR>123 <BR> <BR>比对的意思就是找寻符合括号中字元集的最长字串,例如 123ab4 中 <BR>含有数字 1-5 的最长字串是 123。%[12345] 这个格式字串可以简写 <BR>成 %[1-5],请读者自己试试看。 <BR> <BR>那麽,什麽叫做反比对呢?以上面的例子而言,如果我们把 %[1-5] <BR>改成 %[^1-5],那麽输入 123ab4 会得到 ab 这个输出,反比对的意 <BR>思就是不符合括号中字元集的最长字串。 <BR> <BR>对於 scanf 我们并不打算写一个完整的□例程式,没错,懒惰的作 <BR>者又要给各位实作的机会了,请你自己动手写写看你能不能用 scanf <BR>读进所有型态的资料,再利用你上次写过的 printf 的程式里的方法 <BR>把它们一一印出来。 <BR> <BR>-- <BR>本文原作者为徐振家,原作刊载於星星神教总坛 ☆清华电机☆ test 板。 <BR>你可以以电子文件的形式将本文自由流传於台湾学术网路,但必须包含此版权声明。 <BR>原作者依中华民国著作权法之规定,享有本文之著作权,请勿抄袭以免触法。 <BR>未经授权任何人不得以任何形式对本文做任何修改及商业上之应用。 <BR>其他网路的转载或其他用途的应用,请先知会作者,并取得其同意。 <BR>对本文有任何疑问或意见请 mail 给 <A HREF="mailto:ax.bbs@bbs.ee.nthu.edu.tw,谢谢。">ax.bbs@bbs.ee.nthu.edu.tw,谢谢。</A> <BR> <BR> <BR><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -