标题:一个奇怪的现象,帮解释!
取消只看楼主
lmr
Rank: 1
等 级:新手上路
帖 子:86
专家分:0
注 册:2004-12-9
 问题点数:0 回复次数:2 
一个奇怪的现象,帮解释!

有个程序如下: #include<stdio.h> main() { int x,y,z;

x=1;y=1;z=1; if((x=2)&&(y=2)&&(z=2)); printf("%d,%d,%d\n",x,y,z);

x=1;y=1;z=1; if ((x=0)&&(y=2)&&(z=2)); printf("%d,%d,%d\n",x,y,z);

x=1;y=1;z=1; if ((x=2)||(y=2)||(z=2)); printf("%d,%d,%d\n",x,y,z);

x=1;y=1;z=1; if ((x=0)||(y=2)||(z=2)); printf("%d,%d,%d\n",x,y,z);

x=1;y=1;z=1; if ((x=0)&&(y=2)||(z=2)); printf("%d,%d,%d\n",x,y,z); getch(); } 现有两个问题: 1:为何在每个if语句后都有一个; 2:其输出的结果为: 2,2,2 0,1,1 2,1,1 0,2,1 0,1,2 小弟不才,问了这些小问题,请解释,谢谢!

搜索更多相关主题的帖子: 解释 解释 现象 解释 现象 现象 
2005-03-14 17:05
lmr
Rank: 1
等 级:新手上路
帖 子:86
专家分:0
注 册:2004-12-9
得分:0 
问题是:if语句后加上;就变成赋值语句了吗,另是否在if语句中的赋值与关系符有先后顺序吗(要不如何解释上面程序的输出结果,感觉很纳闷,因为书上都没有这样说明的)。
2005-03-15 10:02
lmr
Rank: 1
等 级:新手上路
帖 子:86
专家分:0
注 册:2004-12-9
得分:0 

谢谢各位的见解,但我觉的这样的问题还是无聊,大家还是按规范书写吧。另

[QUOTE]

[/QUOTE]而在if后的分号 表示if判断为真时 不做任何操作,

这是在哪里见到的,我还不懂呢。

再次谢谢!

2005-03-15 11:41



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-13308-1-1.html




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

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