仍旧是先看两端代码:
first:
#include<stdio.h>
int n=5;
void main()
{
while(n!=0)
{
printf("%d\n",n--);
}
}
second:
#include<stdio.h>
int n=5;
void main()
{
while(n)
{
printf("%d\n",n--);
}
}
上面两段代码结果是一样的,在第一段代码中循环条件是n!=0,先来说n!=0的理解,反过来看如果循环条件是n=0,只有n=0时,程序才进入循环体,这样写的话和初衷相悖,那怎么做呢,!n(
非n等价于
不是n=0)程序就可以进入循环体了,其余勿需赘述。第一段就是我们接触c时最简单的写法,第二段中
while(n)就是程序猿们最喜欢用的风格了。
下面开始说到底什么才是真?程序如何进入循环体?事实上,C语言提供了一个条件非零就可以为真的标准,而不是真就是1,假就是0。所以while(可以满足非零的表达式),例如while(n),程序就可以进入循环体里面。
而不是