2)下面的函数实现在一个数上加一个数 有什么错误?请改正。

行业问题 个数,函数,错误 已帮助 人

2)下面的函数实现在一个数上加一个数,有什么错误?请改正。

热搜:封闭系统在指定状态下,下列哪个状态函数

答案解析

难度★★☆ 搜索
  • 正确答案:

     

     

    // 帮忙分析一下
    #include
    #include
    #include
    #include
    #include
    #include
    typedef struct AA
    {
    int b1:5;
    int b2:2;
    }AA;
    void main()
    {
    AA aa;
    char cc[100];
    strcpy(cc,"0123456789abcdefghijklmnopqrstuvwxyz");
    memcpy(&aa,cc,sizeof(AA));
    cout $amp;cout $amp;}
    答案是 -16和1
    首先sizeof(AA)的大小为4,b1和b2分别占5bit和2bit.
    经过strcpy和memcpy后,aa的4个字节所存放的值是:
    0,1,2,3的ASC码,即00110000,00110001,00110010,00110011
    所以,最后一步:显示的是这4个字节的前5位,和之后的2位
    分别为:10000,和01
    因为int是有正负之分  所以:答案是-16和1 ;$lt;>;$lt;>