求解释C语言代码:if (no % 5)

如果让我写是“if(no%5!=0)”,而书上写的是 if (no % 5)
书中源代码:

/*
    输入的整数能被5整除吗
*/

#include <stdio.h>

int main(void)
{
    int no;

    printf("请输入一个整数:");
    scanf("%d", &no);

    if (no % 5)
        puts("输入的整数不能被5整除。");

    return 0;
}


img

C 语言里,0 为 假,一切非 0 为真,如果 num = 0, 则 if (num) 等同于 if (0) 即 if(假,条件判断不满足) 。如果 num = -1, 则if(-1) 即 if(真,条件判断满足),-1 为非 0 即为真。

c语言中0为false 大于0为true 题目中如果no取模5不等于0 就相当于true

求解释代码加一:if(num)

img