| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 607 人关注过本帖
标题:[原创]谁给我解释下这个程序的运行结果,谢谢!
只看楼主 加入收藏
magic475
Rank: 1
等 级:新手上路
帖 子:66
专家分:0
注 册:2005-1-14
收藏
 问题点数:0 回复次数:8 
[原创]谁给我解释下这个程序的运行结果,谢谢!
#include<stdio.h>



void main()

{

    int x=1,y=0,z;

    z=x-->(y+x)?5:25>y++?1:2;

    printf("%d, %d ,%d\n",x,y,z);

    getch();

}
搜索更多相关主题的帖子: 结果 运行 解释 
2005-08-23 02:04
fanfan200830
Rank: 1
等 级:新手上路
帖 子:86
专家分:0
注 册:2005-8-18
收藏
得分:0 
还想问什么?

?:结合性是先右后左的,<优先,你看看什么结果啊

[此贴子已经被作者于2005-8-23 10:25:47编辑过]



戒骄戒躁,面对自我。人生的意义在克服和创造。失败是人生的家常便饭,重要的是我们学会了什么。
2005-08-23 10:24
magic475
Rank: 1
等 级:新手上路
帖 子:66
专家分:0
注 册:2005-1-14
收藏
得分:0 
不知道你运行过与分析过程序没有,不要回答得那么草率。
2005-08-23 13:27
sdusea
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2005-8-23
收藏
得分:0 
回复:(magic475)[原创]谁给我解释下这个程序的运行...
应该输出:0,1,1 是这样的:根据优先级和结合规则,“=”低于“?:”再低于“>” 所以先计算“>”,再计算“?:”,最后“=” “=”从右到左 其他两个从左至右 z=x-->(y+x)?5:25>y++?1:2; 应该解释为: z=( ( (x-->(y+x)) ? 5 : ( 25>y++ ) ? ) 1 : 2); 故得结果

In my search for freedom and peace of mind I\'ve left the memories behind Wanna start a new life but it seems to be rather absurd when I know the truth is that I always think of you
2005-08-23 14:03
sdusea
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2005-8-23
收藏
得分:0 
不好意思 修改一下: z=x-->(y+x)?5:25>y++?1:2; 应该解释为: z=( ( (x-->(y+x)) ? 5 : ( 25>y++ ) ) ? 1 : 2);

In my search for freedom and peace of mind I\'ve left the memories behind Wanna start a new life but it seems to be rather absurd when I know the truth is that I always think of you
2005-08-23 14:28
magic475
Rank: 1
等 级:新手上路
帖 子:66
专家分:0
注 册:2005-1-14
收藏
得分:0 
我不懂楼上的是用什么编译器得到那样的结果。
我用TC运行得到的结果是0,0,5。如何解释?
2005-08-23 14:51
sdusea
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2005-8-23
收藏
得分:0 
我在VC6.0下运行的0,1,1 然后在TC2.0下运行的确实是0,0,5 我想在TC下可能是这么解释的 z=x-->(y+x)?5:25>y++?1:2; 解释为: z=( (x-->(y+x)) ? 5 : (( 25>y++ ) ? 1 : 2 ) ) ; 如果这样的话,在第一个问号得 真 后,(5:)后边的语句(( 25>y++ ) ? 1 : 2 ) 便不再执行 于是x=0 y=0 z=5 唯一的解释是:Borland 和 Microsoft 不是一伙的

In my search for freedom and peace of mind I\'ve left the memories behind Wanna start a new life but it seems to be rather absurd when I know the truth is that I always think of you
2005-08-23 15:42
水影月圆
Rank: 4
等 级:贵宾
威 望:11
帖 子:738
专家分:0
注 册:2005-8-2
收藏
得分:0 
z=x-->(y+x)?5:25>y++?1:2;
请问下里面的?和;怎么定义的?

子非鱼,安知鱼之江湖?子非我,安知我之功夫 http://20681.
2005-08-23 19:49
magic475
Rank: 1
等 级:新手上路
帖 子:66
专家分:0
注 册:2005-1-14
收藏
得分:0 
to sdusea: 我想你是对的。 我的理解是这样: x--的值为1;y+x的值为0;所以x-->(y+x)为真
2005-08-24 21:28
快速回复:[原创]谁给我解释下这个程序的运行结果,谢谢!
数据加载中...
 
   



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

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