LR8 2022-01-12 16:27 采纳率: 50%
浏览 19
已结题

c2一直没做任何操作,为什么输出字符型从小写字母b变成大写字母B了啊

c2一直没做任何操作,为什么输出字符型从小写字母b变成大写字母B了啊

img


```c
#include "stdio.h"
void main()
{
    int a,b=322;
    float x,y=8.88;
    char c1='k',c2;
    a=y;
    x=b;
    a=c1;
    c2=b;
    printf("%d\n%f\n%d\n%c\n",a,x,a,c2);
}

```

  • 写回答

3条回答 默认 最新

  • a5156520 2022-01-12 16:59
    关注

    是这样的,程序里有c2=b,就是给字符变量c2赋值为322,但是而字符数据类型为8位,而322的二进制为:1 0100 0010 。因为字符变量只能存储8位,然后这个字符变量的值就被赋值为这个322对应的二进制的后面8位:0100 0010 。这个二进制对应的十进制是66,用字符打印就是字符'B',所以c2被打印为'B‘.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 1月20日
  • 已采纳回答 1月12日
  • 创建了问题 1月12日

悬赏问题

  • ¥15 汇编语言没有主程序吗?
  • ¥15 这个函数为什么会爆内存
  • ¥15 无法装系统,grub成了顽固拦路虎
  • ¥15 springboot aop 应用启动异常
  • ¥15 matlab有关债券凸性久期的代码
  • ¥15 lvgl v8.2定时器提前到来
  • ¥15 qtcp 发送数据时偶尔会遇到发送数据失败?用的MSVC编译器(标签-qt|关键词-tcp)
  • ¥15 cam_lidar_calibration报错
  • ¥15 拓扑学,凸集,紧集。。
  • ¥15 如何扩大AIS数据容量