C语言笔记:运算符? : 以及自加,自减的考察

    int x = 10, y = 9, a, b, c;
      1, a = (–x == y++) ? –x : ++y;
      2, b = x++; c = y;
          printf(“%d,%d,%d”, a, b, c);
1,因为- -在x之前,++在y之后,所以先将x减一再与y比较。
x-1 = 9 = y,所以继续语句块 – – x,所以a = x = 8;
至 ;到达序列点,执行++的副作用,即将y自加,y=10;
2,因为++在x之后,所以先将x赋值给b,再将x加一,所以b = 8;
  c = y = 10;

说点什么

avatar

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

  Subscribe  
提醒