c語言中各個類型的打印 2025-05-22

在C語言中,不同的變量類型需要使用不同的格式說明符(format specifiers)進行打印。以下是常見變量類型及其對應(yīng)的打印方式:

基本整數(shù)類型

類型 格式說明符 示例代碼

int %d printf("%d", num);
short %hd printf("%hd", num);
long %ld printf("%ld", num);
long long %lld printf("%lld", num);
unsigned int %u printf("%u", num);
unsigned short %hu printf("%hu", num);
unsigned long %lu printf("%lu", num);
unsigned long long %llu printf("%llu", num);

字符類型

類型 格式說明符 示例代碼

char %c printf("%c", ch);
char(ASCII值) %d printf("%d", ch);

浮點類型

類型 格式說明符 示例代碼

float %f printf("%f", f);
double %lf printf("%lf", d);
long double %Lf printf("%Lf", ld);
科學(xué)計數(shù)法 %e 或 %E printf("%e", f);
自動選擇 %f 或 %e %g printf("%g", f);

指針類型

類型 格式說明符 示例代碼

指針地址 %p printf("%p", &var);

字符串

類型 格式說明符 示例代碼

字符串(char[] 或 char*) %s printf("%s", str);

其他格式控制

寬度和精度:

printf("%5d", num);    // 輸出至少5位寬度的整數(shù)
printf("%.2f", f);     // 保留2位小數(shù)

左對齊:

 printf("%-10s", str); // 左對齊,占10字符寬度

顯示前綴(如 0x 或 0):

  printf("%#x", num);    // 輸出十六進制帶 0x 前綴
  printf("%#o", num);    // 輸出八進制帶 0 前綴

示例代碼

include <stdio.h>

int main() {
    int a = 42;
    float b = 3.14;
    char c = 'A';
    char str[] = "Hello";
    int *ptr = &a;

    printf("int: %d\n", a);
    printf("float: %.2f\n", b);
    printf("char: %c (ASCII: %d)\n", c, c);
    printf("string: %s\n", str);
    printf("pointer: %p\n", (void*)ptr);

    return 0;

注意事項
類型匹配:錯誤的格式說明符可能導(dǎo)致未定義行為(如用 %d 打印 float)。

printf 參數(shù)傳遞:float 會被自動提升為 double,但顯式使用 %f 即可。

指針打印:%p 通常需要將指針強制轉(zhuǎn)換為 void*。

如果需要更復(fù)雜的格式化(如十六進制、八進制),可以使用 %x、%o 等說明符。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容