|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 为什么这道题不是586?
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
706
人关注过本帖
标题:
为什么这道题不是586?
只看楼主
加入收藏
自强
等 级:
论坛游侠
威 望:
1
帖 子:132
专家分:130
注 册:2011-10-3
结帖率:
96.77%
楼主
收藏
已结贴
√
问题点数:10 回复次数:6
为什么这道题不是586?
设X,Y为int型变量,则执行下列语句后,Y的值是()
X=5;
Y=X++*X++
Y=--Y*--Y
A、529
B、2401
C、1209
D、625
这是道广西区二级考试的试题
[
本帖最后由 自强 于 2011-10-17 18:34 编辑
]
2011-10-17 12:31
举报帖子
使用道具
赠送鲜花
smallmoon521
等 级:
蜘蛛侠
威 望:
4
帖 子:517
专家分:1373
注 册:2008-4-21
第
2
楼
收藏
得分:1
这种未定义行为真的没有意义,同学,劝你还是不要在这上面纠结了
为游戏狂~~!! 大家努力编哈!
2011-10-17 12:37
举报帖子
使用道具
赠送鲜花
竹闲云
等 级:
论坛游民
帖 子:39
专家分:34
注 册:2011-10-9
第
3
楼
收藏
得分:1
这种题 你变成不会这么定义的 所以你不必理会的
不过我想说 x=5 ,y=x++*x++(不就是y=5*6=30)
然后 y=--y*--y(不就是y=29*28吗?)
2011-10-17 12:44
举报帖子
使用道具
赠送鲜花
kalekale
等 级:
新手上路
帖 子:2
专家分:5
注 册:2011-10-17
第
4
楼
收藏
得分:5
一般来说,编译器会把++或者--操作分离出来,
注意是一般来说,这个看编译器的,
Y=X++*X++; //这一步会先乘得25,再两次加法X变成7
Y=--Y*--Y; //这一步会先做两次减法,得23x23得529
我没记错的话在《C primer plus》里面强调过这种情形,
在gcc编译器下实测为529。
这种题目说真的挺脑残,但是很多考试里面都出现类似的题目,
真的很无奈,我们的教育真是让人蛋疼。
2011-10-17 13:54
举报帖子
使用道具
赠送鲜花
ileelsai
等 级:
职业侠客
帖 子:87
专家分:303
注 册:2011-9-25
第
5
楼
收藏
得分:2
X=5;
Y=X++*X++
Y=5*5=25
Y=--Y*--Y
Y=23*23=529
2011-10-17 13:55
举报帖子
使用道具
赠送鲜花
糖傻猫
等 级:
论坛游侠
帖 子:39
专家分:142
注 册:2011-8-9
第
6
楼
收藏
得分:1
程序代码:
#include
<stdio.h>
void
main() {
int
x,y; x=
5
; y=x++*x++; y=--y*--y; printf(
"
%d
"
,y); }
输出结果:
529
Press any key to continue
2011-10-17 15:20
举报帖子
使用道具
赠送鲜花
自强
等 级:
论坛游侠
威 望:
1
帖 子:132
专家分:130
注 册:2011-10-3
第
7
楼
收藏
得分:0
回复 4楼 kalekale
不会吧 老兄 这也行 这什么鬼题目 参考教材 可没见它这么说呀 想把人考晕啊 嘿嘿
成为一名真正合格的程序设计人员,是我的梦想……我希望我的梦一直保持下去,直到我从这个世界消失……
2011-10-17 18:38
举报帖子
使用道具
赠送鲜花
7
1/1页
1
快速回复:
为什么这道题不是586?
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.047437 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved