在调用printf
函数时,我们将short的长度修饰符传递给h?
对于Eg
short s=10;
printf("%hd",s);
h是什么意思?有没有具体的理由给出名字h?
提出这个问题的动机是标准选择了l for long.
因为很长时间开始,所以没关系。
Likwise long代表什么?
答案 0 :(得分:1)
是的,通常的理解是'h'表示'半'或'半字',意思是'l'表示'长'或'双字'。它实际上意味着'短',当然's'已经被采用。
它在printf中很有用,因为它可以确保在打印之前将值转换回短路。在这种情况下,'%hd'对于unsigned short int不如'%hu'有用。
它在scanf中也很有用,以确保只有正确数量的位存储在一个短变量中。 但请参阅What is the purpose of the h and hh modifiers for printf?。