首页 新闻 会员 周边 捐助

请教函数返回值的解释

0
悬赏园豆:20 [已解决问题] 解决于 2013-09-18 17:09
#include <stdio.h>
int is_even(int x)
{
    return !(x % 2);
}
int main(void)
{
    int i = 20;
    if(is_even(i))
        printf("Even number\n");
    else
        printf("Odd number\n");

}

求以上小段代码的函数返回值的解释。

紫方竹的主页 紫方竹 | 初学一级 | 园豆:161
提问于:2013-09-16 00:26
< >
分享
最佳答案
0

在C语言中,非0即为真,!是取反运算符。如果x为偶数,x%2 就等于0,取反后,返回结果为真。如果x为奇数,x%2就等于1,取反后,返回结果为假,也就是0.

收获园豆:15
薛遗山 | 初学一级 |园豆:106 | 2013-09-16 09:28
其他回答(1)
0

由于C中没Bool类型。那么false用0表示,其他则为1。

对于取反操作符,则只会返回0和1。

收获园豆:5
幻天芒 | 园豆:37207 (高人七级) | 2013-09-16 13:04
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册