| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1676 人关注过本帖
标题:求助:有关return!(x%2)的问题
只看楼主 加入收藏
mvpshaonan
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-2-13
结帖率:0
收藏
已结贴  问题点数:20 回复次数:8 
求助:有关return!(x%2)的问题
最近在自学C
说if语句可以调用下面的函数
int is_even(int x)
{
   if (x % 2 == 0)
      return 1;
   else
      return 0;
}
可以换成
int is_even(int x)
{
   return !(x%2)
}
到这边就不明白了 这个!(x%2)到底是什么意思啊 设x=2就是非零 ,x=3就是非1了 难道 非1就是零的意思?
求解答 在线等 谢谢~

[ 本帖最后由 mvpshaonan 于 2012-2-13 15:39 编辑 ]
搜索更多相关主题的帖子: 函数 自学 return 在线 
2012-02-13 15:26
snakelazixp
Rank: 2
等 级:论坛游民
帖 子:51
专家分:94
注 册:2012-2-13
收藏
得分:4 
x%2==0  时 return 1;

x%2!=0 时 return 0;
  换成!(x%2)   当x%2==0时   !0==1    x%2!=0时  !(x%2)==0

2012-02-13 23:39
huang1982
Rank: 2
等 级:论坛游民
帖 子:25
专家分:29
注 册:2012-2-13
收藏
得分:4 
x%2 是取 x 除以 2 的余数的意思
比如3%2 == 1(1是余数)
在C语言里
/ 这个是除
% 这个是取余
2012-02-14 00:28
huang1982
Rank: 2
等 级:论坛游民
帖 子:25
专家分:29
注 册:2012-2-13
收藏
得分:0 
# include <stdio.h>
int main(void)
{
    int a = -3, b = -2, c = -1, d = 0, e = 1, f = 2, g = 3;
    printf("%d %d %d %d %d %d %d\n", a%2, b%2, c%2, d%2, e%2, f%2, g%2);
    return 0;
}
结果为
-1 0 -1 0 1 0 1
我也刚学没多久,这个是取余的例子,帮助理解
2012-02-14 00:40
ljl123970
Rank: 2
等 级:论坛游民
帖 子:31
专家分:42
注 册:2012-1-30
收藏
得分:4 
以下是引用snakelazixp在2012-2-13 23:39:33的发言:

x%2==0  时 return 1;

x%2!=0 时 return 0;
  换成!(x%2)   当x%2==0时   !0==1    x%2!=0时  !(x%2)==0
赞同2楼说法 !0=1,!1=0

但也有点模糊,有没高手详解下
2012-02-14 08:16
回首依依
Rank: 7Rank: 7Rank: 7
来 自:苏州
等 级:黑侠
威 望:1
帖 子:193
专家分:524
注 册:2011-12-3
收藏
得分:4 
! (x%2)即x为偶数时取余结果为0,取非后值为1。同理x为奇数时结里为0。关于!运算,!0为1,!x=1(只要x!=1)
2012-02-14 08:39
回首依依
Rank: 7Rank: 7Rank: 7
来 自:苏州
等 级:黑侠
威 望:1
帖 子:193
专家分:524
注 册:2011-12-3
收藏
得分:0 
回复 6楼 回首依依
写错了,x!=0,
2012-02-14 08:41
yxiangyxiang
Rank: 3Rank: 3
来 自:/\/\/\/\/
等 级:论坛游侠
帖 子:130
专家分:186
注 册:2012-1-29
收藏
得分:4 
逻辑判断不是1就是0.
2012-02-14 12:39
snakelazixp
Rank: 2
等 级:论坛游民
帖 子:51
专家分:94
注 册:2012-2-13
收藏
得分:0 
回复 5楼 ljl123970
!0的逻辑值为真(1),!1的逻辑值为假(0)。
2012-02-14 13:00
快速回复:求助:有关return!(x%2)的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024240 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved