我想知道,如何用单引号计算字符串的整数值' '.
我的示例代码是:
#include <stdio.h>
int main()
{
int c = 'aA';
int d = 'Aa';
printf( "%d %d" , c, d);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出是:
24897 16737
Run Code Online (Sandbox Code Playgroud)
那些数字是多少?有没有计算它们的公式?
我想了解这段代码的结果:
#include<iostream>
using namespace std;
int main()
{
int a = 'dd';
cout << a;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
结果是25700.编译器如何获得此数字?谢谢
32位系统中的字大小为4字节.所以char a ='bcd'; 已验证.4个ASCII字符可以容纳32位整数.
char a='bcd';
//output is d for this line
printf("%c\n",a);
//output is 'z' when i use *(&a-1) and '?'(is -67 when manipulated)
printf("%c\n",*(&a-1));
Run Code Online (Sandbox Code Playgroud)
现在我在这里只是想知道会有什么&a-1 (this is not 'b')意义?它的最后一个内存地址?还有一件事是字符被打包成的顺序int.
------------------------------------------------------------------------------
| bits : _ _ _ _ _ _ _ 8 _ _ _ _ _ _ _ 16 _ _ _ _ _ _ _ 24 _ _ _ _ _ _ _ 32 |
| order : ? ? ? ? ? …Run Code Online (Sandbox Code Playgroud)