Sun Studio 12:C 用户指南

6.4.6 整型常量

与表达式一样,有些整型常量的类型规则已更改。在 K&R C 中,只有在无后缀十进制常量的值用 int 足以表示时,其类型才为 int;只有在无后缀八进制或十六进制常量的值用 unsigned int 足以表示时,其类型才为 int。否则,整型常量的类型为 long。有时,值用结果类型不足以表示。在 1990 ISO/IEC C 标准中,常量类型是以下列表中与值对应的第一个类型:

当您使用 -xtransition 选项时,对于其行为可能会根据所涉及常量的类型处理规则而更改的任何表达式,ISO C 编译器会向您发出警告。旧整型常量类型处理规则仅在转换模式下使用;ISO 模式和符合标准模式使用新规则。


注 –

无后缀十进制常量的类型处理规则已按照 1999 ISO C 标准更改。请参见2.1.1 整型常量