相关疑难解决方法(0)

C中的多字节整数变量

我想知道,如何用单引号计算字符串的整数值' '.

我的示例代码是:

#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)

那些数字是多少?有没有计算它们的公式?

c ascii

3
推荐指数
1
解决办法
344
查看次数

将2个char分配给int

我想了解这段代码的结果:

#include<iostream>

using namespace std;

int main()
{
    int a = 'dd';
    cout << a;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

结果是25700.编译器如何获得此数字?谢谢

c++ int ascii char

3
推荐指数
2
解决办法
144
查看次数

在char a ='abc'时感到困惑; 行为C编程

在此输入图像描述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)

c c++ memory-address

-4
推荐指数
1
解决办法
1066
查看次数

标签 统计

ascii ×2

c ×2

c++ ×2

char ×1

int ×1

memory-address ×1