2024-11-30 07:44:36
1. 第一题
int i=1,j=0;
while(i++<3)
{ j++; }
答案:j=2,i=4
解释:i++ 加号在i 后面,属于 后加加,就是先求表达式的结果,然后再加1.
第1次循环:初始值i=1 j=0,表达式 i<3 计算结果为TRUE, 执行j++和i+1 ,
执行结果: i=2,j=1
第2次循环:i=2, 表达式i<3 计算结果为TRUE, 执行j++和 i+1,执行结果 :i=3,j=2
第2次循环:i=3, 表达式i<3 计算结果为FALSE,不执行 j++ 但是仍然执行i+1,
执 行结果:i=4,j=2
第二题: 答案:j=3,i=4
do{ j++; } while(i++<3); 此语句 是先循环 再检查条件 和上一题不同。
初始化值:int i=1,j=0;
第1次循环:先执行j++, 然后 求表达式 i<3 ,为TRUE,最后i+1,执行结果:j=1,i=2;
第2次循环:先执行j++, 然后 求表达式 i<3 ,为TRUE,最后i+1,执行结果:j=2,i=3;
第3次循环:先执行j++, 然后 求表达式 i<3 ,为FALSE,最后i+1,执行结果:j=3,i=4;
程序测试结果:
希望我的回答对你的学习有所帮助,欢迎继续提问,很高兴和你一起讨论和学习C/C++