C 語言標準函數庫分類導覽 - stdio.h printf()

stdio.h 的函數 printf() 將格式化字串傳送到標準輸出裝置。有如下的可指定的轉換格式

%d, %i有正負號的十進位整數int
%u無正負號的十進位整數int
%o無正負號的八進位整數int
%x, %X無正負號的十六進位整數int
%c字元char
%s字串char *
%f浮點數double
%p記憶體位址的編碼void *
%%百分比符號%


printf() 可接受多個參數,至少要有第一個所要輸出的格式化字串,隨後為依格式化字串中轉換格式的數列接上需要的參數,這是說,如果格式化字串中用了三個轉換格式,其後就需要另外三個對應的參數。


以下程式示範使用 printf() 的結果
#include <stdio.h>

int main(void)
{
    int n = 5;
    
    printf("He has %d books.\n", n);
    
    return 0;
}

/* 《程式語言教學誌》的範例程式
    http://pydoing.blogspot.com/
    檔名:cprintf1.c
    功能:示範 stdio.h 中函數 printf() 的使用
    作者:張凱慶
    時間:西元2010年6月 */


編譯後執行,結果如下



轉換格式的百分比符號後可接數字跟小數點,數字表示要印出幾格空間,若有負號則靠左對齊,無負號則靠右對齊,小數點後接數字則表示要列印到小數點後幾位。如下例每列印出 12 格,小數點後 8 位,靠右對齊
#include <stdio.h>

int main(void)
{
    double n = 22.2;
    int i;
    
    for (i = 1; i <= 10; i++) {
        printf("%12.8f\n", n / i);
    }
    
    return 0;
}

/* 《程式語言教學誌》的範例程式
    http://pydoing.blogspot.com/
    檔名:cprintf2.c
    功能:示範 stdio.h 中函數 printf() 的使用
    作者:張凱慶
    時間:西元2010年6月 */


編譯後執行,結果如下



您可以繼續參考


1 則留言:

Unknown 提到...

請問stdio.h中printf之函數原型:int printf(const char *format, ...);為何與函數原型的宣告: datatype name(datatype,...);之格式不同?謝謝。