【发布时间】:2017-05-07 16:03:07
【问题描述】:
我是自学C的,我想既然%ld可以用于更长的数字,我不知道为什么会有%d,而对于更短的,%hd之类的?
我也想知道C说明符是如何工作的,为什么我们需要为不同范围的数值数据类型使用不同的说明符,因为每种数据类型都有范围限制?
【问题讨论】:
-
谷歌它。你会得到答案。
-
当您传递一个
int时,您使用%d打印一个int;当您通过long时使用%ld,当您通过long long时使用%lld。您可以使用%hd将范围限制为short的范围;int将在打印之前转换为short。 -
非常感谢,我知道了
-
您问的是
printf()还是scanf()?请不要同时说这两个,因为这会使这个广泛的问题更加广泛。 -
我不知道每个说明符对不同功能的作用不同,我想谈谈'printf()'。