|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 问几个问题
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
537
人关注过本帖
标题:
问几个问题
只看楼主
加入收藏
guguti
等 级:
新手上路
帖 子:15
专家分:6
注 册:2010-8-18
楼主
收藏
问题点数:0 回复次数:8
问几个问题
语句int i=3;k=(i++)+(i++)+(i++);执行过后 k 的值为
,i 的值为
这个k的值要怎么算呢 我的想法是3+4+5 可是错了
还有三个类似的题
如果 i=3,则 k=(i++)+(++i)+(i++)执行过后 k 的值为
,i 的值
如果 i=3,则 k=(++i)+(++i)+(i++)执行过后 k 的值为
,i 的值
如果 i=3,则 k=(++i)+(++i)+(++i)执行过后 k 的值为
,i 的值
求解答 谢谢
2010-10-27 17:49
举报帖子
使用道具
赠送鲜花
outsider_scu
等 级:
蜘蛛侠
威 望:
3
帖 子:430
专家分:1333
注 册:2010-10-21
第
2
楼
收藏
得分:0
不同的编译器有不同的结果。
但是原理是一样的
编程的道路上何其孤独!
2010-10-27 17:51
举报帖子
使用道具
赠送鲜花
guguti
等 级:
新手上路
帖 子:15
专家分:6
注 册:2010-8-18
第
3
楼
收藏
得分:0
用vc说说啥原理 怎么算呢
2010-10-27 17:52
举报帖子
使用道具
赠送鲜花
outsider_scu
等 级:
蜘蛛侠
威 望:
3
帖 子:430
专家分:1333
注 册:2010-10-21
第
4
楼
收藏
得分:0
k=(i++)+(i++)+(i++);按照运算符来说,是先计算,后自增,既然都在一个表达式里,所以,就应该先运算咯。最后应该是6
k=(++i)+(++i)+(++i);因为是前置运算,所以,先自增。由于变量i指向的是一个地址,所以从左到右i依次自增1,由于VC保存前两个加数的和,所以当运行到前两个i的和是5+5=10的时候,先保存这个结果。然后再加上最后一个i.所以最后是16.
编程的道路上何其孤独!
2010-10-27 18:01
举报帖子
使用道具
赠送鲜花
cacker
该用户已被删除
第
5
楼
收藏
得分:0
提示:
作者被禁止或删除 内容自动屏蔽
2010-10-27 18:22
举报帖子
使用道具
赠送鲜花
longlongago7
等 级:
新手上路
帖 子:1
专家分:0
注 册:2010-10-27
第
6
楼
收藏
得分:0
i的值都是6,k的值分别是9,12,15,18
2010-10-27 18:46
举报帖子
使用道具
赠送鲜花
guguti
等 级:
新手上路
帖 子:15
专家分:6
注 册:2010-8-18
第
7
楼
收藏
得分:0
回复 4楼 outsider_scu
怎么是16呢 答案是18
2010-10-28 21:00
举报帖子
使用道具
赠送鲜花
outsider_scu
等 级:
蜘蛛侠
威 望:
3
帖 子:430
专家分:1333
注 册:2010-10-21
第
8
楼
收藏
得分:0
以下是引用
guguti
在2010-10-28 21:00:17的发言:
怎么是16呢 答案是18
我说了,不同的编译器有不同的结果
VC6是16
TC2是18
编程的道路上何其孤独!
2010-10-28 21:20
举报帖子
使用道具
赠送鲜花
9
1/1页
1
快速回复:
问几个问题
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.073341 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved