BBS水木清华站∶精华区

发信人: ax.bbs@bbs.ee.nthu.edu.tw. (athena), 信区: test 
标  题: 星星流讲座 0012 
发信站: ☆清华电机☆ (Wed May 10 20:11:28 1995) 
 
 
第 3 讲 之 5            基本的输出与输入 
                        Topic: Usage of printf (2) 
 
再来看看 Size 这个栏位,它可以是以下三个字元的其中一个: 
 
        字元    意义 
        ------------------------------------------------------ 
        h       欲替换的变数是 short 或 unsigned short 的型态 
        l       欲替换的变数是 long  或 unsigned long 
        L       欲替换的变数是 long double 的型态 
 
利用 Size 这个栏位和 Type 栏配合,就可以印出所有的基本资料型态了。 
 
此外,若是机器上的浮点数发生了 IEEE 规格规定中 NaN (Not A Number) 
或是 Infinity 的情形,那麽 printf 将直接印出 NaN 和 Infinity 的讯 
息。 
 
Precision 栏位通常是用以表示浮点数印出到小数点後几位用的,但是它也 
可以当成列印的最大栏宽 (Width 栏位是最小栏宽),这是什麽意思呢? 
以下为□例程式: 
 
/* printf2.c */ 
#include <stdio.h> 
#include <string.h> 
 
void main (void) 

    char a[13]; 
    strcpy (a, "Hello, world"); 
 
    printf (":%s:\n", a); 
    printf (":%10s:\n", a); 
    printf (":%.10s:\n", a); 
    printf (":%-10s:\n", a); 
    printf (":%.15s:\n", a); 
    printf (":%-15s:\n", a); 
    printf (":%15.10s:\n", a); 
    printf (":%-15.10s:\n", a); 

 
执行结果: 
 
Hello, world: 
Hello, world: 
Hello, wor: 
Hello, world: 
Hello, world: 
Hello, world   : 
     Hello, wor: 
Hello, wor     : 
 
printf 的解说到此告一段落,同时我们要给各位第一个自己动手做的机会, 
请你写一个程式,利用 printf 显示所有我们曾经讲过的基本资料型态,并 
比较 printf 四种列印浮点数的型态 (e, E, g, G) 的不同。 
 
-- 
本文原作者为徐振家,原作刊载於星星神教总坛 ☆清华电机☆ test 板。 
你可以以电子文件的形式将本文自由流传於台湾学术网路,但必须包含此版权声明。 
原作者依中华民国著作权法之规定,享有本文之著作权,请勿抄袭以免触法。 
未经授权任何人不得以任何形式对本文做任何修改及商业上之应用。 
其他网路的转载或其他用途的应用,请先知会作者,并取得其同意。 
对本文有任何疑问或意见请 mail 给 ax.bbs@bbs.ee.nthu.edu.tw,谢谢。 
 
 

BBS水木清华站∶精华区