是否有文字语法来编写 char
或 short
?例如:
4
--> 国际 4L
--> 长 4LL
--> 长长 或者,您是否需要将其转换为文字符号,例如:
(char) 4
--> 字符 (short) 4
--> 短 注意:即使我写成
'a'
,它仍然将其识别为 int
(至少当我在 VS Code 中检查它时)。
最佳答案
短类型(比 int
窄的类型)没有后缀,您也不需要它们。
在预处理器条件之外,后缀可以完全表示为强制转换或更一般的强制转换和三元运算符( 0xfffffffffU
不等于 (unsigned)0xfffffffff
,但在 32 位平台上等于 (1?0xfffffffff:0u)
unsigned
秒)。
在预处理器条件中,强制转换不起作用,因此您至少需要 U
如果您需要无符号语义,请在此处添加后缀。我猜,其他后缀只是为了方便需要在 C 和预处理器条件中使用宏时,尽管诸如 ((type)+42)
之类的东西。也可以在这种情况下使用(依赖于在预处理器条件中扩展为 0
的关键字)。
如 Eric Pospitschil已经指出,预处理算法是在 intmax_t
中完成的。/uintmax_t
所以你不需要像在 C 中那样扩展常量来防止某些未定义行为的实例。
关于c - short 或 char(整数)的字面量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65974417/