c - 为什么当计数达到零时我的 while 循环终止?

标签 c

如果没有 count!=0 这样的条件,当 count 变为 0 时,while 如何终止?

#include<stdio.h>
static int count=5;

void func(void);

void main()
{
    while(count--)
    {
        func();
    }
} 

void func(void)
{
    static int i=5;
    i++;
    printf("%d\t%d\n",i,count);
}

最佳答案

在 C 语言中,0(零)被视为错误。当您在任何条件语句中使用 0 时,它将计算为 false。

例如:if( 0 ) 计算结果为 false,并触发 else 代码(如果有)。

在您的代码中,当 count-- 等于 0 时,while 条件的计算结果为 while (0)。由于只有当条件计算结果为 true 时才会触发 while 循环的迭代,因此 while 循环将在此时终止。

关于c - 为什么当计数达到零时我的 while 循环终止?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47373528/

相关文章:

c - 用 SIGTERM 杀死 child

c - arr[0] 的大小是多少?

c++ - 如何在 MPI 中创建新类型

将 sockaddr_in 作为参数传递时,connect() 函数失败

c - 如何在 Linux 中编译静态库?

c++ - 使用 C/C++ 编写隐写术应用程序

c - 为什么要在 main 中重新声明一个函数?

c - ncursesw 函数未声明

C、检查文件是否存在而不能读/写可能?

c - 如何从 C 和 Igraph 中的两个 id 顶点获取边的 id?