如果int i=3;k=(i++)+(++i)+(i++);执行过后k的值为()i的值为()

2024-12-03 10:14:14
推荐回答(5个)
回答1:

int i=3;k=(i++)+(++i)+(i++);执行过后k的值为,i的值为。

i++意思是i先加后面的数再自加。++i是先自加后计算。因为 i=3,所以,从左至右根据优先级,第一个(i++)为(3++)=3,而i=4;到第二个(++i)时,为(++4)=5,而i=5;到第三个(i++)为(5++)=5,而i=6。总的来看k=(i++)+(++i)+(i++)=3+5+5=13。i=6。

扩展资料:

在一个表达式中可能包含多个有不同运算符连接起来的、具有不同数据类型的数据对象;由于表达式有多种运算,不同的结合顺序可能得出不同结果甚至出现错误运算错误,因为当表达式中含多种运算时,必须按一定顺序进行结合,才能保证运算的合理性和结果的正确性、唯一性。

优先级从上到下依次递减,最上面具有最高的优先级,括号操作符具有最高的优先级。表达式的结合次序取决于表达式中各种运算符的优先级。优先级高的运算符先结合,优先级低的运算符后结合,同一行中的运算符的优先级相同。

回答2:

k=12 i=6

作为单独的语句:i++和++i;没有区别,都是自增1,相当于 i=i+1;这里所要考虑到运算优先级从左至右,即先计算(i++)+(++i)即3+4=7,然后7在与i++计算,此时的i经过两次自增i=5,所以表达式i++为5,所以,即K=3+4+5=12,I经过3次自增即i=3+1+1+1=6。

扩展资料:

在一个表达式中可能包含多个有不同运算符连接起来的、具有不同数据类型的数据对象;由于表达式有多种运算,不同的结合顺序可能得出不同结果甚至出现错误运算错误,因为当表达式中含多种运算时,必须按一定顺序进行结合,才能保证运算的合理性和结果的正确性、唯一性。

优先级从上到下依次递减,最上面具有最高的优先级,括号操作符具有最高的优先级。

回答3:

k=12 i=6

作为单独的语句:i++和++i;没有区别,都是自增1,相当于 i=i+1;这里所要考虑到运算优先级从左至右,即先计算(i++)+(++i)即3+4=7,然后7在与i++计算,此时的i经过两次自增i=5,所以表达式i++为5,所以,即K=3+4+5=12,I经过3次自增即i=3+1+1+1=6。

回答4:

i++ =3,然后i参与运算此时 i=4 而后 ++i 便 i=i+1 =5 ,而后i++和前面的一样 i++=5,如果后面无论再参加什么运算或者什么动作i都会加1,所以 (3)+(5)+(5)=13

回答5:

k=13,i=6.i++意思是i先加后面的数再自加。++i是先自加后计算。而且加减运算法则先算括号里的类似于数学