C语言循环for(i=1,j=6;++i!=j--;) s=i+j;将执行几次 标准答案2次求解释

2024-12-13 01:12:43
推荐回答(5个)
回答1:

++i 是先i+1再判断条件表达式

j-- 是先j-1再判断条件表达式

再看for循环的流程:

因此,上面的表达式可以逐步解释为:

一、赋初值 i=1 j=6

二、判断条件;++i!=j--,此时i=2  j=6 条件成立,循环内语句执行一次 s=7(i=2 j=5)

三、判断条件;++i!=j--,i=3 j=5 条件成立,循环内语句执行一次 s=7(i=3 j=4)

四、判断条件;++i!=j--,i=4 j=4 条件不成了,退出循环。

i=4 h=4

回答2:

第1次: i = 1, j = 6; 判断 ++i是2,j--值为6,不等,执行;i值变为2,j值变为5
第2次:判断++i是3,j--值为5,不等,执行;i值变为3,j值变为4
第3次:判断++i是4,j--值为4,相等,不执行(i值变为4,j值变为3)

回答3:

++i执行前加1
j--执行后减一
这样就不难明白,第一次 2!=6 执行后i=2 j=5
第二次 3!=5 执行后i=3 j=4
第三次 执行前++i=4 所以 4!=4错误,不执行,所以是两次
怎么样,不赖吧,虽然很多年前学的,但是还记得一点点,应该这样解释是对的

给分吧

回答4:

这种情况就需要理解i++和++i的区别了
++i是先自加后运算; i++是先运算后自加
第一次循环:i = 1,J = 6
判断:++i ! = j-- 即 2! = 6,条件成立,循环。注意运算结束之后J自减,变成5
第二次循环:i = 2, J = 5
判断:++i ! = j-- 即 3!= 5,条件成立,循环。注意运算结束之后J自减,变成4
第三次循环:i = 3,J = 4
判断:++i ! = j-- 即 4! = 4,条件不成立,不执行循环体
SO, s=i+j这个循环体将执行2次

回答5:

第一次:2和6,s=8;
第二次:3和5,s=8;
第三次:4==4,结束;
所以就只执行两次