【1】占位符

发布于:2025-09-12 ⋅ 阅读:(19) ⋅ 点赞:(0)

占位符


占位符的第一个车字符是 % ,第二个字符表示占位符的类型。
printf() 的占位符有许多种类,与 C 语言的数据类型相对应。
下面按照字母顺序,列出占位符如下,方便查询(黄色背景为常用):

%a 浮点数(仅 c99 有效)
%A 浮点数(仅 c99 有效)
%c : char 类型数据
%d : 十进制整数 (int)
%e 使用科学记数法的浮点数,指数部分的 e 为小写
%E 使用科学记数法的浮点数,指数部分的 e 为大写
%i 整数,基本等同于 %d
%f: 加粗样式
%g 6个有效数字的浮点数。整数部分一旦超过6位,就会自动转为科学记数法,指数部分的 e 为小写。
%G 等同于 %g, 唯一的区别是指数部分的 E 为大写
%hd 十进制 short int 类型
ho 八进制 short int 类型
hx 十六进制 short int 类型
%hu unsigned short int 类型
%ld 十进制整数(long)
%lo 八进制 long int 类型
%lx 十六进制 long int 类型
%lu unsigned long int 类型
%lld 十进制 long long int 类型
%le 科学记数法表示 long double 类型浮点数
%lf 十进制浮点数(double)
%n 已输出的字符串数量。该占位符本身不输出,只将值存储在指定变量中
%o 八进制整数
%p 指针
%s 字符串
%u 十进制无符号整数(unsigned int)
%x 十六进制整数
%zd size_t 类型
%% 输出一个百分号

示例:

#include <stdio.h>

int main() {
    // %c: 字符类型
    char ch = 'A';
    printf("字符: %c\n", ch);  // 输出: 字符: A
    
    // %d 或 %i: 十进制整数
    int num = 123;
    printf("整数: %d\n", num);  // 输出: 整数: 123
    printf("整数: %i\n", num);  // 输出: 整数: 123 (与%d相同)
    
    // %ld: 十进制long类型
    long bigNum = 123456789L;
    printf("长整数: %ld\n", bigNum);  // 输出: 长整数: 123456789
    
    // %f: float类型
    float f = 3.14f;
    printf("单精度浮点数: %f\n", f);  // 输出: 单精度浮点数: 3.140000
    
    // %lf: double类型
    double d = 3.1415926535;
    printf("双精度浮点数: %lf\n", d);  // 输出: 双精度浮点数: 3.141593
    
    // %s: 字符串
    char str[] = "Hello World";
    printf("字符串: %s\n", str);  // 输出: 字符串: Hello World
    
    // %u: 无符号整数
    unsigned int u = 123;
    printf("无符号整数: %u\n", u);  // 输出: 无符号整数: 123
    
    // %p: 指针
    int *ptr = &num;
    printf("指针地址: %p\n", ptr);  // 输出: 指针地址: 0x7ffdxxxxxxx (具体地址取决于系统)
    
    return 0;
}

网站公告

今日签到

点亮在社区的每一天
去签到