儿子写的可乐瓶问题,while的条件把我搞蒙了

img


这里while用了一个表达式n/3,然而验证结果,是成立的,题目是买了n瓶可乐,然后3个空瓶可以换一瓶,一共可以有多少瓶可乐

在判断语句中!=0可以省略不写,所以whilie循环的意思是 当不等于0的时候成立

输入4
n=4
ans=4+0
n/3=1
ans=4+1
n=2
out=5
😊

while里的表达式要求是一个bool值
而c语言中值类型是可以互相隐式转换的
n/3明显是个int型
int型转bool型,0为false,非0为true
所以while(n/3)就等价于while(n/3!=0)