AFCX 2023-07-15 17:09 采纳率: 83.3%
浏览 26
已结题

搞不懂的c\c++问题

有谁知道吗请问一下c\c++中的这两个代码是什么意思,编译器目前能编译成功

int *a=("hello",5,0x66);
int a=("hello",5,0x66);

研究几天了,一直搞不懂

  • 写回答

3条回答 默认 最新

  • threenewbee 2023-07-15 17:16
    关注

    ("hello",5,0x66)
    这是逗号运算符,表达式的值是最后一个表达式
    因此
    你的问题其实就是
    int *a=0x66;
    int a = 0x66;
    0x66就是十六进制的66也就是102。
    前者让指针指向102(很可能是无效指针)
    后者就是int a = 102;

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

报告相同问题?

问题事件

  • 系统已结题 9月18日
  • 已采纳回答 9月10日
  • 创建了问题 7月15日