| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1621 人关注过本帖
标题:[求助]关于逻辑运算符的问题
只看楼主 加入收藏
wangbing0123
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-10-21
收藏
得分:0 

要熟练的判断这些,就得先搞清楚各种运算符得优先级别阿,只要那个清楚了,应该判断这个小问题就没有问题了。

2006-10-28 16:32
wangbing0123
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-10-21
收藏
得分:0 
优先级别应该是:!, 算术运算符,关系运算符,逻辑关系,赋值关系。一次降低阿
2006-10-28 16:36
fans
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2006-9-4
收藏
得分:0 
以下是引用zzsy04et138在2006-10-27 22:05:23的发言:

请问各位运行的结果是多少呀?

要根据输入看结果啊.结果要么为1,要么为0

a = b||x==y 和 (a=b) || (x==y),这两个表达式确实不同,不过表达式的值却是相同的.

因此两句printf()出来的结果也是相同的.

[此贴子已经被作者于2006-10-28 19:47:23编辑过]

2006-10-28 19:45
zhanghuan_10
Rank: 1
等 级:新手上路
威 望:2
帖 子:751
专家分:0
注 册:2006-10-25
收藏
得分:0 
不一样a=b||x==y相当于
a=(b || (x==y))
按照九楼的‘我不是的郭靖'说法,当我输入各种不同的值时,他们的结果总是相同的,这是为什么呀?

该学习了。。。
2006-10-29 10:06
zhanghuan_10
Rank: 1
等 级:新手上路
威 望:2
帖 子:751
专家分:0
注 册:2006-10-25
收藏
得分:0 

当我输入0 0 2 3时,输出的结果应该是多少呢?


该学习了。。。
2006-10-29 10:08
fans
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2006-9-4
收藏
得分:0 
以下是引用zhanghuan_10在2006-10-29 10:06:23的发言:
不一样a=b||x==y相当于
a=(b || (x==y))
按照九楼的‘我不是的郭靖'说法,当我输入各种不同的值时,他们的结果总是相同的,这是为什么呀?

恩.a=b||x==y确实就是a=(b || (x==y)), 和(a=b)||(x==y)是完全不一样的两个表达式.

但其结果的确是相同的.稍微分析下就清楚了.

首先因为c语言中: a=b 这个赋值表达式的值就等与b的值. 所以 (b || (x==y)) 和 (a=b)||(x==y) 的值是一样的.

因此 a = (b || (x==y)) 和 (a=b)||(x==y) 的值是一样的.

你给的那几个值最后计算出来的结果 :两个都是0
其中你给a输入的值对最后计算是没有影响的.

[此贴子已经被作者于2006-10-29 17:55:25编辑过]

2006-10-29 17:53
C语言学习者
Rank: 4
等 级:贵宾
威 望:13
帖 子:1278
专家分:0
注 册:2006-9-26
收藏
得分:0 
如果有耐心,可以用这种方法测试一下。
0 0 0 0
0 0 0 1
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 1 0
1 1 1 1

谁有强殖装甲第二部,可以Q我460054868
2006-10-29 18:20
fans
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2006-9-4
收藏
得分:0 
以下是引用C语言学习者在2006-10-29 18:20:39的发言:
如果有耐心,可以用这种方法测试一下。
0 0 0 0
0 0 0 1
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 1 0
1 1 1 1

楼上的朋友给出了完全的测试数据,楼主有兴趣可以好好测试一下.

2006-10-29 18:45
yyfvh
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-10-30
收藏
得分:0 
请教一下大家
x+a%3*(int)(x+y)%2/4
x=2.5,a=7,y=4.7
为什么上式值是2.5,而不是2.75.
2006-10-30 12:16
zhanghuan_10
Rank: 1
等 级:新手上路
威 望:2
帖 子:751
专家分:0
注 册:2006-10-25
收藏
得分:0 
呵呵!按照16、17楼的说法,我现在明白是怎么一回事了!谢谢了!

该学习了。。。
2006-10-30 12:25
快速回复:[求助]关于逻辑运算符的问题
数据加载中...
 
   



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

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