| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1394 人关注过本帖
标题:解答下此题
只看楼主 加入收藏
鸿工作室
Rank: 1
等 级:新手上路
帖 子:89
专家分:0
注 册:2007-10-14
收藏
得分:0 
10楼的,你把z的值改一下,看看勉强不,这种情况老师课堂上都讲过了




2007-10-15 20:30
hxjtiger
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2007-10-9
收藏
得分:0 
现在很多的考试题就是这种,唉,没多大用处(除了考试),考试害人啊!!!!!

嘿嘿,呵呵,哈哈,困难不在是困难!!!
2007-10-15 20:53
静思
Rank: 3Rank: 3
来 自:沈阳
等 级:新手上路
威 望:8
帖 子:630
专家分:0
注 册:2006-2-28
收藏
得分:0 

感觉这样在实际中没太多用处


英者自知,雄者自胜
2007-10-15 21:11
muse
Rank: 1
等 级:新手上路
帖 子:115
专家分:0
注 册:2007-9-13
收藏
得分:0 
5楼是正确的答案。大家仔细看 。

2007-10-16 22:20
wzhgzj
Rank: 1
等 级:新手上路
帖 子:108
专家分:0
注 册:2007-9-6
收藏
得分:0 
x不是个没有赋值的量,
可能是任意的值,那if语句就不成立了,可是?
x=4也就不能执行了.
那x也不一定是0么.
想不通?

命运在我手中
2007-10-16 23:34
muse
Rank: 1
等 级:新手上路
帖 子:115
专家分:0
注 册:2007-9-13
收藏
得分:0 
因为在 if(x=y=z)中 “=”是赋值运算符结合性是从左向右的。等同于x=(y=(z)) 其中z=0 所以: x=(y=(z=0))
结果全是零。所以if(x=y=z)等同于 if(x=0)的效果。

2007-10-17 13:44
lhj2005
Rank: 1
等 级:新手上路
帖 子:230
专家分:0
注 册:2007-1-23
收藏
得分:0 
很奇怪啊!!!!!谁能解释下!


转换了下Z和Y,输出,4和-2
int x,y=-2,z=0;
if (x=z=y)
x=4;
printf("\t%d\t%d\n",x,y);

[此贴子已经被作者于2007-10-17 17:40:06编辑过]

2007-10-17 17:35
muse
Rank: 1
等 级:新手上路
帖 子:115
专家分:0
注 册:2007-9-13
收藏
得分:0 

上面我已经解释很清楚了。
你在去看看。


2007-10-17 17:47
静思
Rank: 3Rank: 3
来 自:沈阳
等 级:新手上路
威 望:8
帖 子:630
专家分:0
注 册:2006-2-28
收藏
得分:0 
以下是引用lhj2005在2007-10-17 17:35:52的发言:
很奇怪啊!!!!!谁能解释下!


转换了下Z和Y,输出,4和-2
int x,y=-2,z=0;
if (x=z=y)
x=4;
printf("\t%d\t%d\n",x,y);

这原理不是一样的吗,x=z=y这个表达式相当于x=(z=y),整个表达式的最终结果为-2,if条件为真,执行x=4这个赋值操作,所以最终结果为4和-2
感觉这样写的程序在实际中没多大意义


英者自知,雄者自胜
2007-10-17 18:13
lxm520910
Rank: 1
等 级:新手上路
帖 子:96
专家分:0
注 册:2007-10-3
收藏
得分:0 
  LZ在去看下书  if语句还没过关  只要不是0,正负都无所谓,都是真,都会执行if后的语句。   是0,就不执行了
2007-10-17 19:19
快速回复:解答下此题
数据加载中...
 
   



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

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