我想了解这段代码的结果:
#include<iostream>
using namespace std;
int main()
{
int a = 'dd';
cout << a;
return 0;
}
结果是25700.编译器如何获得此数字? 感谢
答案 0 :(得分:6)
'dd'
是一个多字符文字,其类型为int
,其值为实现定义。
在许多实现中,该值计算为256 * 'd' + 'd'
,即25700
。
来自C ++11§2.13.2字符文字
...包含多个c-char的普通字符文字是多字符文字。多字符文字具有类型
int
和实现定义的值。
答案 1 :(得分:5)
'd'
的ascii代码是0x64。文字'dd'
由编译器表示为0x6464,以十进制表示法写入时为25700。
答案 2 :(得分:0)
'dd'
通过语句int
int a='dd';
值