提问题问,邱大老们解答

img


这个value是什么意思?它后面的(%d,%d)又是干嘛的?然后后面的INT16_MIN,INT16_MAX又是什么?邱解答!谢谢!

占位符,类似于format的用法,后面是将两个变量的值填充到占位符的地方

这个value就是要打印的字符串
里面%d才是占位符
后面是变量,会被替换到%d的位置上去

这是 printf 的格式化输出,也就是把除了第一个变量的其他变量按格式填充到字符串中,像 %d 就是说明要填充的是十进制整数(decimal)。
至于 INT16_MININT16_MAX,它们是预定义的宏,分别表示 16 位整数所能表示的的最大最小值。
value 只是字符串的一部分,没有特殊意义。

除了%d之类的转换说明,printf会原模原样的打印所有东西,比如括号,比如字符串,INT16_MIN 和 INT16_MAX是宏(可以称为明示常量),他们包含在某个头文件中,如在limits.h中,有代码:#define INT_MAX +32767,但前提是编译器要支持新标准C99