📜  用C语言在int中分配多个字符

📅  最后修改于: 2021-05-25 18:58:44             🧑  作者: Mango

考虑下面的C程序。

#include 
int main(void)
{
    int a = 'd';
  
    printf("%d\n", a);
    /*OUTPUT - 100 (ASCII Code for character d)*/
  
    int b = 'dd';
    printf("%d", b);
    /*OUTPUT - 25700 (Explanation in detail given below)*/
  
    return 0;
}

输出 :

100
25700

我们可以很容易地猜测到’d’的输出为100,因为100是字符’d’的ASCII值。

让我们考虑下线

int a = 'dd' 

(%d,a)打印25700作为输出
01100100 01100100(二进制100100)
假设int为2个字节,则起始字节由第一个字符’d’占用,第二个字节由第二个字符’d’占用。因此,整个二进制文件涉及0110010001100100,即2 ^ 14 + 2 ^ 13 + 2 ^ 10 + 2 ^ 6 + 2 ^ 5 + 2 ^ 2 = 25700。

现在猜测以下代码的输出。

#include 
int main(void)
{
    int b = 'de';
    printf("%d", b);
    return 0;
}
想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。