printf函数的用法

printf函数是C语言中用于格式化输出的函数,它允许你按照指定的格式输出文本和变量值。以下是printf函数的基本用法:

基本格式

int printf(const char *format, ...);
  • format 是一个格式化字符串,包含了普通字符和格式化规定符。

  • ... 表示一个或多个参数,用于替换格式化字符串中的占位符。

格式化规定符

  • %d:十进制有符号整数

  • %u:十进制无符号整数

  • %f:浮点数

  • %s:字符串

  • %c:单个字符

  • %p:指针的值

  • %e:指数形式的浮点数

  • %x/%X:无符号以十六进制表示的整数

  • %o:无符号以八进制表示的整数

  • %g:自动选择合适的表示法

示例

#include <stdio.h>

int main() {
    int i = 10float f = 5.12345678char str[] = "Hello World!"printf("整数:%d\n", i);
    printf("浮点数:%.2f\n", f);
    printf("字符串:%s\n", str);
    printf("字符:%c\n", 'A');
    printf("指针值:%p\n", (void*) &i);
    printf("科学计数法浮点数:%e\n", f);
    printf("十六进制整数:%x\n", i);
    printf("八进制整数:%o\n", i);
    printf("自动选择表示法:%g\n", f);

    return 0;
}

注意事项

  • 格式化字符串中的占位符必须与提供的参数个数和类型相匹配。

  • 可以在%和格式说明符之间指定宽度,如%3d表示宽度为3的整数。

  • 如果字符串或整数的长度超过指定的宽度,将按实际长度输出。

  • 对于浮点数,如果整数部分位数超过指定的宽度,将按实际整数位输出;如果小数部分位数超过指定的宽度,将按指定宽度四舍五入输出。

输出顺序

printf函数从左至右读取格式化字符串,并将参数按顺序压入栈中,处理时从栈顶开始,因此输出结果是从右至左的。

错误处理

如果printf函数遇到格式说明符与参数类型不匹配,或者参数个数不足,它将返回一个负值,表示发生了错误。

结束语

printf函数是C语言中非常重要的输出工具,合理使用可以使程序输出更加友好和易于理解

Top