清梦惹人醉 发表于 2021-8-26 21:57:34

加减运算符

#include<stdio.h>
void main()
{

        int i = 5, q;
        q = (++i)+(++i)+(++i);               
        printf("q=%d,i=%d\n",q,i);
}

这里q的值显示为22,怎么不是24?
只执行两组(++i)的时候值就是14,执行两组以上的(++i)计算,就会先计算前面两组的结果p,再计算++i,再算p+i,是什么逻辑,求解答。

lhgzbxhz 发表于 2021-8-29 19:40:41


q = (++i)+(++i)+(++i);
三个++i执行顺序是不一定的,所以结果未定义
页: [1]
查看完整版本: 加减运算符