什么是h的缩写,简称为长度修饰符?

时间:2014-09-13 10:37:18

标签: c printf

在调用printf函数时,我们将short的长度修饰符传递给h?

对于Eg

short s=10;
printf("%hd",s);

h是什么意思?有没有具体的理由给出名字h?

提出这个问题的动机是标准选择了l for long.因为很长时间开始,所以没关系。

Likwise long代表什么?

1 个答案:

答案 0 :(得分:1)

是的,通常的理解是'h'表示'半'或'半字',意思是'l'表示'长'或'双字'。它实际上意味着'短',当然's'已经被采用。

它在printf中很有用,因为它可以确保在打印之前将值转换回短路。在这种情况下,'%hd'对于unsigned short int不如'%hu'有用。

它在scanf中也很有用,以确保只有正确数量的位存储在一个短变量中。 但请参阅What is the purpose of the h and hh modifiers for printf?