|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ ?:表达式的执行顺序问题?
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
3860
人关注过本帖
标题:
?:表达式的执行顺序问题?
只看楼主
加入收藏
jansongg
等 级:
新手上路
帖 子:30
专家分:0
注 册:2007-7-20
楼主
收藏
问题点数:0 回复次数:23
?:表达式的执行顺序问题?
程序:
#include "stdio.h"
main()
{
int x=2,y=3,z;
z=(++x>=y--)?((--y==1)?x--:--y):y--;
printf("%d\n",z);
}
运行结果: 3
1.这个程序的执行顺序是怎样的?
2.先执行右边的?:表达式还是左边?
3.如果先执行右边的,那么执行完之后y的值会应用于左边吗?
如果执行左边先呢,y的值回不会赋给右边?
我是新人,希望大家不吝赐教~~谢谢~~
搜索更多相关主题的帖子:
顺序
表达
int
main
2008-01-22 17:54
举报帖子
使用道具
赠送鲜花
雨中飞燕
等 级:
禁止访问
威 望:
8
帖 子:2200
专家分:0
注 册:2007-8-9
第
2
楼
收藏
得分:0
无意义的问题。。。。。。。。。。
2008-01-22 18:06
举报帖子
使用道具
赠送鲜花
forever74
来 自:CC
等 级:
版主
威 望:
58
帖 子:1697
专家分:4310
注 册:2007-12-27
第
3
楼
收藏
得分:0
深入思考是好事,但是须知真理前进一小步就变成谬误了,所以并不是越深入越好的。
否则就像楼上说的,沦为无意义行为了。
2008-01-22 18:30
举报帖子
使用道具
赠送鲜花
jansongg
等 级:
新手上路
帖 子:30
专家分:0
注 册:2007-7-20
第
4
楼
收藏
得分:0
但是我不知道怎样计算啊~~计出的答案跟程序输出的不同...
2008-01-22 20:12
举报帖子
使用道具
赠送鲜花
死了都要C
来 自:四川成都
等 级:
贵宾
威 望:
13
帖 子:1582
专家分:116
注 册:2006-12-7
第
5
楼
收藏
得分:0
别这样写程序啊````一点都不好玩```
女施主``我给你``送茶来了```师太``你就从了老衲吧``
代码本天成~~~妙头偶得之```
2008-01-22 20:29
举报帖子
使用道具
赠送鲜花
jansongg
等 级:
新手上路
帖 子:30
专家分:0
注 册:2007-7-20
第
6
楼
收藏
得分:0
是书上的练习题来的....我也知道不好玩....
但是被他困惑很不爽....
2008-01-22 20:30
举报帖子
使用道具
赠送鲜花
永夜的极光
等 级:
贵宾
威 望:
27
帖 子:2721
专家分:1
注 册:2007-10-9
第
7
楼
收藏
得分:0
即使你计算出来正确的结果又怎样?写程序的时候谁会这么写?
不要浪费时间在这种无聊的题目上,一点作用都没有
从BFS(Breadth First Study)到DFS(Depth First Study)
2008-01-22 20:30
举报帖子
使用道具
赠送鲜花
jansongg
等 级:
新手上路
帖 子:30
专家分:0
注 册:2007-7-20
第
8
楼
收藏
得分:0
嗯...有道理.....谢谢....
2008-01-22 20:31
举报帖子
使用道具
赠送鲜花
菜鸭
等 级:
新手上路
帖 子:262
专家分:0
注 册:2007-12-9
第
9
楼
收藏
得分:0
爱钻牛角尖
我就喜欢钻牛角尖,对于LZ的这个程序,运行之后也是不解,不过经过我对程序一步一步分解,终于理解了。我想,对于我以后,是应该有些帮助的,尤其是X++与++X的区别。
1,首先,先做(++x>=y--)?,这个式子是成立的,运行之后,X=3,Y=2;
2,其次,再做(--y==1)?,式子成立,运行之后,X=3,Y=1;
3,再次,就成了这个式子:Z=X--。由于是先赋值后自减,所以Z值为3,x值为2。
所以,这个式子值为3。
对于资深的高手和天赋极高的“神童”来说,可能不算什么。但是我想,弄懂弄透每个问题,不让自己知其然而不知其所以然,也是应该的。
把自己的心得写出来,与一些“笨鸟”们共勉,我们早起些,晚休息些,多飞一会儿吧!
[[italic] 本帖最后由 菜鸭 于 2008-1-23 09:42 编辑 [/italic]]
2008-01-22 21:17
举报帖子
使用道具
赠送鲜花
jansongg
等 级:
新手上路
帖 子:30
专家分:0
注 册:2007-7-20
第
10
楼
收藏
得分:0
原帖由 [bold][underline]菜鸭[/underline][/bold] 于 2008-1-22 21:17 发表 [url=http://bbs.bccn.net/redirect.php?goto=findpost&pid=1185954&ptid=198334]
[/url]
爱钻牛角尖
我就喜欢钻牛角尖,对于LZ的这个程序,运行之后也是不解,不过经过我对程序一步一步分解,终于理解了。我想,对于我以后,是应该有些帮助的,尤其是X++与++X的区别。
1,首先,先做(++x>=y--)?,这个式子是成立的,运行之后,X=3,Y=2;
2,其次,再做(--y==1)?,式子成立,运行之后,X=3,Y=1;
3,再次,就成了这个式子:Z=X--。由于是先赋值后自减,所以Z值为3,Y值为2。
所以,这个式子值为3。
对于资深的高手和天赋极高的“神童”来说,可能不算什么。但是我想,弄懂弄透每个问题,不让自己知其然而不知其所以然,也是应该的。
把自己的心得写出来,与一些“笨鸟”们共勉,我们早起些,晚休息些,多飞一会儿吧!
知音啊`~~说出了我心中的想法.
特别是
对于资深的高手和天赋极高的“神童”来说,可能不算什么。但是我想,弄懂弄透每个问题,不让自己知其然而不知其所以然,也是应该的。
把自己的心得写出来,与一些“笨鸟”们共勉,我们早起些,晚休息些,多飞一会儿吧!
这句
..就算这个没用..不弄懂始终不舒服..而且问了这么多人,竟然没人正式答复.
总之就是非常感谢菜鸭兄弟了`~`
十万分感谢~~~~
后来我也想到把这个换成for语句解决了`~
2008-01-23 09:09
举报帖子
使用道具
赠送鲜花
24
1/3页
1
2
3
快速回复:
?:表达式的执行顺序问题?
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.024046 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved