白衣老疯 2023-01-18 09:57 采纳率: 81.3%
浏览 28
已结题

C语言自加问题与整形提升

img


在程序里,++a和+a在sizeof里,明显++a没有进行运算而+a进行运算并整形提升,这是为什么?

  • 写回答

3条回答 默认 最新

  • 於黾 2023-01-18 10:18
    关注

    这跟提升没有关系,这是运算优先级问题
    ++a,运算优先级最高,所以是先进行a的自加之后,执行sizeof(a),那么返回的依然是a自身的类型
    而+a其实等同于0+a,0可以不写,这是个表达式,在运算中,所有变量会先转成最大的类型,而0是int型的常量,所以a会被转换成int型,相加的结果也是int型

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

报告相同问题?

问题事件

  • 系统已结题 2月1日
  • 已采纳回答 1月24日
  • 创建了问题 1月18日

悬赏问题

  • ¥15 python提取.csv文件中的链接会经常出现爬取失败
  • ¥15 数据结构中的数组地址问题
  • ¥15 LD衰减怎么根据纵坐标计算横坐标的值
  • ¥15 maya的mel里,怎样先选择模型A,然后利用mel脚本自动选择有相同名字的模型B呢。
  • ¥15 Python题,根本不会啊
  • ¥15 会会信号与系统和python的来
  • ¥15 关于#python#的问题
  • ¥20 oracle RAC 怎么配置啊,配置
  • ¥15 excel 日常使用中出现问题
  • ¥20 pdusession建立失败