| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 454 人关注过本帖
标题:为什么运行不了,错误在哪里?求解答,谢谢
只看楼主 加入收藏
张影
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2014-11-22
结帖率:92.31%
收藏
已结贴  问题点数:10 回复次数:9 
为什么运行不了,错误在哪里?求解答,谢谢
#include<stdio.h>

main()


  {int x=1,y=2,z=3;


       x=y--<=x||x+y !=z


printf("%d,%d",x,y) ;


}
2014-11-26 23:37
风雪归人
Rank: 2
等 级:论坛游民
帖 子:7
专家分:10
注 册:2014-11-1
收藏
得分:10 
x = y-- <= x || x+y != z后面没有;
这个式子应该先算y--,(y的值还是为2,与--y不同)
然后 y<=x  -----》0
然后 x+y != z --》1   (此次y的值变为1了)
0 || 1   就为1了。
2014-11-27 00:39
zhuyi8120
Rank: 2
等 级:论坛游民
帖 子:34
专家分:12
注 册:2014-11-4
收藏
得分:0 
x=y--<=x||x+y !=z
为什么要在自己不能确定的情况下,写那么古怪的表达式?
这种表达式的运行顺序貌似和操作系统有关,不能保证在各种情况下结果都是一样的
2014-11-27 07:21
烟花雨的干将
Rank: 2
等 级:论坛游民
威 望:1
帖 子:18
专家分:38
注 册:2014-11-12
收藏
得分:0 
一楼说的是对的,y--的意思是后减,也就是y的值还为2。所以y<=x是,2<=1不成立,x+y!=z就是1+2!=3,这两个明显都不成立,所以程序是错的,你上网搜一下i--和--i的差别就很容易搞懂了,不懂的话我们可以继续交流。O:-)
2014-11-27 11:18
烟花雨的干将
Rank: 2
等 级:论坛游民
威 望:1
帖 子:18
专家分:38
注 册:2014-11-12
收藏
得分:0 
如果是--y程序就应该对了,你试一下
2014-11-27 11:19
soulmate1023
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:6
帖 子:256
专家分:831
注 册:2014-9-23
收藏
得分:0 
x=y--<=x||x+y !=z 没加分号!!!!!!!
1,1
首先是y--<=x  就是2<=1 结果为0
然后是x+y  就是1+1=2 结果为2
最后是x+y !=z 就是2!=3 结果为1
然后0||1 是1
x=1,y=1

2014-11-27 11:38
张影
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2014-11-22
收藏
得分:0 
回复 2 楼 风雪归人
谢谢你!
2014-11-27 13:04
张影
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2014-11-22
收藏
得分:0 
回复 3 楼 zhuyi8120
谢谢
2014-11-27 13:04
张影
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2014-11-22
收藏
得分:0 
回复 6 楼 soulmate1023
明白了,谢谢!
2014-11-27 13:06
烟花雨的干将
Rank: 2
等 级:论坛游民
威 望:1
帖 子:18
专家分:38
注 册:2014-11-12
收藏
得分:0 
嗯。6楼是对的
2014-11-27 13:06
快速回复:为什么运行不了,错误在哪里?求解答,谢谢
数据加载中...
 
   



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

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