有缘人在哪里,能来看看吗?

img


第七个,我看没有什么限制的,能不能给我翻译一下这串代码,人是懵的

第一次循环,进来时--i,所以i=3
第二次循环,进来--i,所以i=2
第三次循环,进来--i,所以i=1
第四次循环,进来时--i,所以i=0,此时循环进不去,所以,一共循环三次

任意表达式都可以
因为任意表达式都可以区分出0和非0,前者是false,后者是true

while (--i) 的意思就是 while(--i != 0) (因为c语言和c++里面,int转bool都是非0就是ture,0就是false)
while (--i != 0) 的意思就是, 先将 i-1,再判断这个i是否等于0
所以这个题就是3次,
第一次输出 3
第二次输出 2
第三次输出 1
第四次,先减1,此时等于0,再判断,等于0,所以退出循环。