LR8 2022-03-18 14:15 采纳率: 50%
浏览 61

C中空格的sizeof

img


#include <stdio.h>
#include <string.h>
int main()
{
    char a=' ';
    printf("%d\n",sizeof(a));
    printf("%d\n",sizeof(" "));
    printf("%d\n",sizeof(' '));
}

第一个printf是字符型的空格 占一个ASCII,这样理解对吗
第二和第三个printf分别是因为什么输出的2和4啊

  • 写回答

3条回答 默认 最新

  • 於黾 2022-03-18 14:22
    关注

    第一个类型是char,所以是1个byte,这没问题
    第二个类型是string,所以空格后面还有个不可见字符\0,所以是2bytes
    第三个是字符型常量,常量占4字节

    评论

报告相同问题?

问题事件

  • 创建了问题 3月18日

悬赏问题

  • ¥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数据容量