小克学编程 2023-04-27 09:40 采纳率: 100%
浏览 16
已结题

为什么sizeof(+c)和sizeof(c)的字节个数不同(语言-c语言)

```

#include<stdio.h>
int main()
{ char c = 0;
printf("%u\n", sizeof(c));
printf("%u\n", sizeof(-c));
printf("%u\n", sizeof(+c));
return 0;
}

```的sizeof(c)和sizeof(+c)有什么区别?为什么sizeof(+c)和sizeof(c)的字节个数不同

  • 写回答

4条回答 默认 最新

  • 前网易架构师-高司机 游戏服务器领域优质创作者 2023-04-27 10:09
    关注

    sizeof(c) =》是sizeof运算符计算c的char类型所占内存空间,由于char是一个字节,所以结果是1
    sizeof(-c))=》是sizeof对-c表达式的结果进行求内存空间大小,-c表达式实际上是相当于0-c,0是整型,整型和字符型计算最后会按照高精度来求结果,因此最后得到的结果也是整型,整型占4字节,所以结果是4
    sizeof(+c)); 同理,+c相当于0+c,最后的结果是整型,因此结果是4

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

报告相同问题?

问题事件

  • 系统已结题 5月5日
  • 已采纳回答 4月27日
  • 创建了问题 4月27日

悬赏问题

  • ¥15 软件工程用例图的建立(相关搜索:软件工程用例图|画图)
  • ¥15 如何在arcgis中导出拓扑关系表
  • ¥15 处理数据集文本挖掘代码
  • ¥15 matlab2017
  • ¥15 在vxWorks下TCP/IP编程,总是connect()报错,连接服务器失败: errno = 0x41
  • ¥15 AnolisOs7.9如何安装 Qt_5.14.2的运行库
  • ¥20 求:怎么实现qt与pcie通信
  • ¥50 前后端数据顺序不一致问题,如何解决?(相关搜索:数据结构)
  • ¥15 基于蒙特卡罗法的中介效应点估计代码
  • ¥15 罗技G293和UE5.3