这里的第一个问题。已查看常见问题解答,但未找到答案。

我使用Kochan书学习了Obj C,他将%i分类为整数,%f为浮点,%d分类为double。

使用iOS,似乎是这样:%i和%d表示整数,%f表示浮点

有人可以确认甚至可以解释其基本原理。我已经看过Apple的字符串编程指南。

先感谢您。

最佳答案

遵循standard C/C++ syntax。因此%d和%i都是“有符号整数”,%f是“十进制浮点”,并且将显示浮点数或双精度数。

在不确定为什么d和i重复的情况下,%f确实会浮动并加倍的原因是通过省略号传递的内容必须遵守C升级规则。如果您传递任何小于int的整数类型,它将被提升为完整大小的int以进行传递。同样,如果您传递浮点数,它将被提升为双精度。因此,接收参数的东西只需要考虑整数与浮点的关系,而不是关于存储大小。

09-10 09:33