
函数原型 int printf(const char *format, ...);format: 是一个字符串包含要输出的文本和格式控制符。...: 表示可变参数列表根据 format 中的格式控制符提供相应的数据。返回值printf 返回成功输出的字符数。如果发生错误则返回一个负值。格式控制符格式控制符以 % 开头用于指定输出的格式。常见的格式控制符包括%d 或 %i输出有符号十进制整数%u输出无符号十进制整数%o输出无符号八进制整数%x 或 %X输出无符号十六进制整数%x 使用小写字母%X 使用大写字母%f输出浮点数默认保留 6 位小数%e 或 %E输出科学计数法表示的浮点数%e 使用小写字母%E 使用大写字母%g 或 %G根据数值大小自动选择 %f 或 %e%g 使用小写字母%G 使用大写字母%c输出单个字符%s输出字符串%p输出指针地址通常以十六进制表示%%输出百分号 %修饰符格式控制符可以结合修饰符使用以进一步控制输出的格式。常见的修饰符包括-左对齐输出默认右对齐在正数前显示加号空格在正数前显示空格#对于 %o、%x、%X输出前缀 0、0x 或 0X对于 %f、%e、%g强制输出小数点0用前导零填充字段宽度width指定最小字段宽度.precision指定浮点数的小数位数或字符串的最大字符数注意格式控制符与参数类型匹配printf 不会自动检查格式控制符与参数类型是否匹配如果类型不匹配可能会导致未定义行为。缓冲区printf 的输出通常是缓冲的直到遇到换行符 \n 或缓冲区满时才会真正输出。可以使用 fflush(stdout) 强制刷新缓冲区。安全性printf 不会检查字符串的长度如果使用 %s 输出字符串时字符串没有以 \0 结尾可能会导致缓冲区溢出。