a+++b+c+++d++

来源:互联网 发布:快捷混合矩阵 编辑:程序博客网 时间:2024/05/01 09:21
int main()
{
int a,b,c,d;
  a=0;
  b=1;
  c=2;
  d=3;

  printf(“%d”,a+++b+c+++d++);

}

答案是6

主要就是a+++b+c+++d++

运算符优先级里面 ++ 的优先级是大于 + 的

所以是先执行++

a+++b之间有三个+号, 因为++>+, 所以应该分配为a++ +b, 后面的也一样

则是 a++ +b + c++ + d++

也就是 (a++) + b + (c++) + (d++)

如果是前置的++是先计算++后执行printf函数

但是现在是后置的++, 所以先执行printf, 输出的结果就是0 + 1 + 2 + 3 =6

输出结束以后 a = 1 b = 1 c = 3 d = 4


原创粉丝点击