在调用 printf
函数时,我们将 short 的长度修饰符传递为 h?
例如
short s=10;
printf("%hd",s);
h 是什么意思?有没有什么特定的理由来命名h?
提出这个问题的动机是标准选择了 l for long。
因为 long 以 l 开头,所以没问题。
Likwise long h代表什么?
最佳答案
是的,通常的理解是'h'表示'half'或'half word',同理'l'表示'long'或'double word'。它实际上意味着“短”,当然“s”已经被采用。
它在 printf 中很有用,因为它确保在打印之前将值转换回 short。在这种情况下,对于 unsigned short int,“%hd”不如“%hu”有用。
它在 scanf 中也很有用,可确保仅将正确数量的位数存储到 short 变量中。 但见What is the purpose of the h and hh modifiers for printf? .
关于c - short 用作长度修饰符的 h 的缩写是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25822361/