你好,C语言
上QQ阅读APP看书,第一时间看更新

2.4.1 printf函数

与add函数一样,printf也是一个函数,但它不是一个自定义函数,而是一个系统自带的函数。

我们将字符串常量"Hello World\n"传递给了printf函数。在运行代码时,你可以在屏幕上看到这行字符串。显然,printf函数的作用就是将字符串输出到控制台上。

printf由单词print(打印)和单词format(格式)的首字母f组成,意为格式化打印。

早期,计算机的输出主要通过连接打印机在纸张上打印字符来实现。如今,计算机的大部分输出都是在屏幕上实现的。然而,单词print仍被保留下来。有时我们仍然使用“打印”一词,但实际上,我们是在屏幕的控制台中输出字符的。

让我们来看以下两行代码。

printf("Hello World\n");
printf("%d", result);

为什么在第一行代码中只向printf传递了一个参数,而在add函数中却向它传递了两个参数?函数定义的参数数量和类型是否需要与函数调用时保持一致?

因为printf函数是一个特殊的函数,即可变参数函数,所以可以接收可变数量和类型的输入参数。现在,你不需要过多地关心如何编写可变参数函数,只需要使用它即可。

以下是printf函数的一些用法示例。

打印一个整数:printf("%d", 整型int);

printf("%d", 12345);

用于打印两个整数:printf("%d\n%d\n", 整型int1, 整型int2);

printf("A=%d\nB=%d\n", 123, 456);

根据以上示例,可以总结出printf的使用公式。

printf("XXX占位1 XXX 占位2 XXX占位3", 替换1, 替换2, 替换3);

根据上面的公式,让我们逐一解释。

(1)printf函数的第一个参数必须是字符串,在这里,我们传入了一个字符串常量(用双引号括起来)。在之前的HelloWorld和add函数的示例中,第一个参数都是字符串常量。

(2)在字符串常量中,可以包含占位符。例如,整型int的占位符是%d。占位符的含义是显而易见的,因为它们占据了特定的位置,并被后面的参数依次替换。查看图2.22,图中箭头标示了如何进行替换,并在控制台上输出了替换的结果。

图2.22 printf函数的示例