首页 > 解决方案 > c- 当一个表达式有逗号操作符时,它是如何计算的?

问题描述

我得到b = 40但我不知道如何在这个程序中评估表达式 b 。

#include <stdio.h>

int main()
{
  int a = 8, b;
  b = (a++, ++a, a<<2);
  
  printf("%d",b);
  return 0;
}

标签: cbit-manipulationoperatorsincrement

解决方案


逗号运算符从左到右计算,表达式的值是最后一个值,在这种情况下是(8+1+1)*4 = 40.


推荐阅读