输出的结果是5。
这题要注意的是,for循环的最右边有一个分号“;”,说明循环体是空语句,即循环体什么都不执行。
主要是考查对循环三个表达式和逗号运算符的理解。
一般来说,i++是先使用 i 的值,最后再 +1。但在这题的第三个循环表达式(最右边)中,有 i++, s += i,因为它们之间有一个逗号运算符,逗号运算符的特性是让 i 完成 +1 操作后再先执行 s += i。其实相当于把 i++和 s += i 分成两条语句,执行完一条再执行下一条。
s = 0,i = 1。
判断 i < 3,即 1 < 3 为真。
执行 i++,s += i,此时 i = 1,s = 0,先执行 i + 1,再执行 s += i;此时,i = 2,s = 2。
判断 i < 3,即 2 < 3 为真。
执行 i++,s += i,此时 i = 2,s = 2,先执行 i + 1,再执行 s += i;此时,i = 3,s = 5。
判断 i < 3,即 3 < 3 为假,退出循环,输出 s 的值。
测试结果