C 语言 int i = '11'; i 为什么是 12593
- C/C++ code
int _tmain(int argc, _TCHAR* argv[]){ int i = '11'; printf("%d\n", i);}
[解决办法]
'11'是字符串,ascii码值为0x3131,就是十进制的12593
[解决办法]
6: int i = '11';
00401048 C7 45 FC 31 31 00 00 mov dword ptr [ebp-4],3131h
i的补码变成了0x3131;
按照%d格式输出自然是12593
[解决办法]