作业帮 > 综合 > 作业

C语言 p=(i++)+(i++)+(i++); q=(++j)+(++j)+(++j);

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/04/30 18:57:17
C语言 p=(i++)+(i++)+(i++); q=(++j)+(++j)+(++j);
void main(){
  int i=5,j=5,p,q;
  p=(i++)+(i++)+(i++);
  q=(++j)+(++j)+(++j);
  printf("%d,%d,%d,%d",p,q,i,j);
  }
对P=(i++)+(i++)+(i++)应理解为三个i相加,故P值为15.然后i再自增1三次相当于加3故i的最后值为8.而对于q 的值则不然,q=(++j)+(++j)+(++j)应理解为q先自增1,再参与运算,由于q自增1三次后值为8,三个8相加的和为24,j的最后值仍为8.
为什么会是这样不理解a 主要是为什么q自增了三次?p为15?
不是写了吗.p是先相加 后自增,q是先自增在相加啊.i++ 和++i 的区别