在c ++中实际做了什么while(n)
(n
是一个初始化的整数)?
从文档:
while-loop简单地重复语句,而表达式为true.
但是没有逻辑运算符,while(n)
所以假设循环运行的方式是n到零,这是否会使它成为假?这是否意味着写作while(n)
相当于while(n!=0)
?
在C/C++中,任何非零值都被视为"真".C没有bool
像C++那样的内置类型,因此这种行为对于条件语句的运行是必要的,并且可能由于多种原因而保留,而不仅仅是向后兼容性.我碰巧喜欢它,因为它可以减少长条件所需的代码量,所以我可以写if (i && j && k)
而不是if (i != 0 && j != 0 && k != 0)