C++ int i=1,i2=0; i2=(++i)+(++i); 结果怎么是 i=3,i2=6?
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/26 01:12:52
C++ int i=1,i2=0; i2=(++i)+(++i); 结果怎么是 i=3,i2=6?
C++
int i=1,i2=0;
i2=(++i)+(++i);//+(++i);
cout
C++
int i=1,i2=0;
i2=(++i)+(++i);//+(++i);
cout
这个问题涉及到存储的问题,内存存储计算式的时候是按照优先级和先后顺序存储的,提取的时候是逆着提取,所以考虑这一点就容易理解了,你若学过数据结构就好理解了.
用第二个式子解释:i2=(++i)+(++i)+(++i);三个++运算符,两个+运算,++运算符优先级高,先提取存储单元里的两个++运算符,于是i进行了两次++运算,变为3;再提取第一个+运算,式子运算到了前两项,即(++i)+(++i)等于6(相当于第一个式子的运算了);然后提起第三个++运算,i变为4,;接下来提取最后一个+运算,即6+4;总结一下,运算顺序为如下:++、++、+、++、+.这样讲能明白么?
用第三个式子讲i2=-(++i)-(++i);同样++运算符优先,于是进行第一个++运算,但不同的是,这里第二个运算的是-符号,这不是运算,而是负符号,所以比第二个++运算更先提取;接下来第二个++运算,最后是减运算;运算顺序为,++、-(负号)、++、-(减号).能懂么?
问题很犀利,让我也学到了很多
用第二个式子解释:i2=(++i)+(++i)+(++i);三个++运算符,两个+运算,++运算符优先级高,先提取存储单元里的两个++运算符,于是i进行了两次++运算,变为3;再提取第一个+运算,式子运算到了前两项,即(++i)+(++i)等于6(相当于第一个式子的运算了);然后提起第三个++运算,i变为4,;接下来提取最后一个+运算,即6+4;总结一下,运算顺序为如下:++、++、+、++、+.这样讲能明白么?
用第三个式子讲i2=-(++i)-(++i);同样++运算符优先,于是进行第一个++运算,但不同的是,这里第二个运算的是-符号,这不是运算,而是负符号,所以比第二个++运算更先提取;接下来第二个++运算,最后是减运算;运算顺序为,++、-(负号)、++、-(减号).能懂么?
问题很犀利,让我也学到了很多
main( ) {int i,a[5]; for(i=0;i2))%5; for(i=4;i>=0;i--) print
int i=0,j=3; while(i2) { printf("%d,%d\n",i,j); j=3-i++; } 输
io3-+i-+h+=i2+h2o怎么配平
由I2+S2-=I-+S;Br2+I-=I2+Br;I2+SO3-=I-+SO42-得正确结论 A 氧化性Br->I->
2Fe3+ +2 I- =2Fe2+ + I2 I2沉淀符号?
2 Br- + I2 = Br2 + 2 I-为什么是不正确 氧化性cl2>br2>I2不是么
2Fe3++2I-=2Fe2+I2
配平【MnO4-】+【I-】+【H+】=【Mn2+】+【I2】+【H2O】
i是虚数单位,计算i+i2+i3= ___ .
酸性条件下KIO3溶液与KI溶液发生反应生成I2:IO3-+5I-+3H2O====3I2+6OH-
I2+SO2+2H2O=H2SO4+2HI中为什么氧化性I2>H2SO4,还原性SO2>I?
已知电路中电流i1,i2对应的向量形式为I1=10e∧i.π/3,I2=5e∧-i.π/2,若i3=i1+i2,求i3