|
|
1
6
转换说明符
使用不正确的转换说明符会导致未定义的行为。 来自C标准(7.21.6.1 fprintf函数)
对于类型的对象
来自C标准(6.5.2.2函数调用)
因此
和
相对于结果是等效的。
请注意,一些程序员在输出doubles时使用长度修饰符
|
|
|
2
4
variadic函数需要一些关于它传递的参数数量和类型的信息,因为它必须主动检索那些使用
如果有
但编译器对此一无所知
2.
。它不考虑格式字符串--它看到的只是
真实的
参数的类型,在本例中为
所以有一个
你的
观察到的
行为是因为您的第一个平台传递的浮点值不同于整数值——整数
1.
2.
它
能够
,而现代编译器可以生成
警告
如果格式字符串和参数类型不匹配。但编译器不是
允许的
根据格式字符串更改生成的代码
|
|
|
Community wiki · 打印1到1000,不带循环或条件 3 年前 |
|
|
OverHeaven · 在2D数组中打印每行两次-C 4 年前 |
|
|
user16218933 · php上没有显示图像 4 年前 |
|
|
Sinayra · 循环中的strcat()与sprintf() 8 年前 |
|
|
obvionaoe · printf()在错误的位置打印换行符 8 年前 |
|
|
ByteMe95 · 错误的printf类型仍在打印正确的值 8 年前 |
|
|
141_MATRIX_141 · 指针C的值 8 年前 |