死南无 2023-05-11 20:37 采纳率: 100%
浏览 19
已结题

为什么while(e)中e不等价是(e==0)。

img


看不懂啊,这个题目表达什么意思,while中表达式a应该也可以吧

  • 写回答

2条回答 默认 最新

  • 阿里嘎多学长 2023-05-11 22:27
    关注

    以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:

    在C语言中,while循环的语法是while(expression) statement,其中expression是一个布尔表达式,也就是一个返回值为真或假的表达式。在C语言中,0表示假,非0表示真。因此,可以使用while(e)来判断e是否为真,而不是使用(e==0)来判断e是否为假。

    这是因为在C语言中,任何非0的值都被认为是真,而0被认为是假。因此,如果e是非0的值,while(e)就会循环,而如果e是0,while(e)就会退出循环。

    以下是一个例子:

    #include <stdio.h>
    
    int main() {
        int e = 5;
        while(e) {
            printf("%d\n", e);
            e--;
        }
        return 0;
    }
    

    这个程序会输出从5到1的数字。因为while(e)会一直循环,直到e的值变为0。如果我们使用while(e==0),则程序不会进入循环,因为e的初始值不等于0。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 5月12日
  • 已采纳回答 5月12日
  • 创建了问题 5月11日