lomoxxt 发表于 2019-8-5 18:58:15

为何count==0后就自动停止了,请教大神

#include <stdio.h>

int main()
{
      int ch = 'A';
      int count = 3;

      while (count)
      {
                ch = ch + count;
                count = count - 1;
                putchar(ch);
      }

      putchar('\n');

      return 0;
}
============================
请问代码第六行while(count),只写了一个count,没有写表达式,比如count>=0之类,请问能表示什么呢?
整个代码也不太明白为何count==0后就自动停止了

zltzlt 发表于 2019-8-5 19:02:16

while(count) 表示 当 count 变量不为 0 时执行 while 循环体,count == 0 不符合条件,所以就退出循环

micolar 发表于 2019-8-5 19:59:50

C语言0为假 非零为这真 虽然这么说有些不妥

mqcake 发表于 2019-8-6 08:16:27

while条件会把count和0进行比较,然后再看结果是不是等于1,等于1 就执行while循环体,否者退出循环;

蓝炎彼岸花 发表于 2019-8-7 13:29:03

C语言认为0为假(flase),非0为真(truth),当条件为假不会执行。所以当count = 0时自动停止

lomoxxt 发表于 2019-8-7 15:48:37

zltzlt 发表于 2019-8-5 19:02
while(count) 表示 当 count 变量不为 0 时执行 while 循环体,count == 0 不符合条件,所以就退出循环

谢谢大神!
页: [1]
查看完整版本: 为何count==0后就自动停止了,请教大神