【发布时间】:2013-05-10 13:24:27
【问题描述】:
我想知道是否可以比较整数和字符。 可能是 Javascript 中的“===”。 因为
'a' == 97
会输出
1
编辑:我想要类似的东西
compare('a', 97)
会输出什么
0
我该怎么办?
谢谢
【问题讨论】:
-
问题是
'a'的类型也是int。如果源字符集与 ASCII 不兼容,则只能区分'a'和97。 -
No 'a' 不是 int。检查 sizeof(char) 和 sizeof(int)a
-
好吧,
char的大小和int的大小通常是不同的(虽然不能保证),但整数字符常量在 C 中的类型为int。试试 @ 987654332@. -
"整数字符常量的类型为
int。包含映射到单字节执行字符的单个字符的整数字符常量的值是映射字符表示的数值解释为整数。包含多个字符(例如,'ab')或包含不映射到单字节执行字符的字符或转义序列的整数字符常量的值是实现定义的。 -
@Extaze 是的,标准明确规定
An integer character constant has type int.(第 10 段,§6.4.4.4)