关于c语言++,请高手解答

来源:百度知道 编辑:UC知道 时间:2024/05/10 11:59:08
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为什么等于15,他和q有什么区别。他们两个的运算顺序是什么???

++i是先进行自增运算,i++是后进行自增运算的.
p=(i++)+(i++)+(i++)等价于p=i+i+i;i++;i++;i++;(即三个i加法运算在i的自增运算之前)
q=(++j)+(++j)+(++j)则先算++j的部分,然后在把三部分相加。

1楼是对的.++i表示先使用这个变量之后,然后再增加这个变量的值.而i++则是先使这个变量增加1,然后在进行运算~~

同意楼上!~~~~~~~

不一样的编译器 做出来得答案就不同

不一样的编译器 做出来得答案就不同