早教吧 育儿知识 作业答案 考试题库 百科 知识分享

有如下序列:j=10;i=20;i=(j=i++);执行完后,i和j各是多少?

题目详情
有如下序列:j = 10 ; i = 20 ; i = (j = i ++);执行完后,i和j各是多少?
▼优质解答
答案和解析
i = 20;
j = 20;
为什么是上面的结果 , 我给你分析一下;
j = 10 ; //到这 j = 10;
i = 20 ; //到这 i = 20;
i = (j = i ++);
到了上面那步的话要先计算括号内的.
因为是i++所以说要先进行赋值操作,也就是说先把i的值赋值给j
那么此时j的值就是20了,然后i++操作就是21(i原来的值是20,因此++操作的话就是21了) 最后再进行赋值把j的值赋值给i 因此 i又变回20
所以最终的i = 20 j = 20;