|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ ++n的疑问
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
608
人关注过本帖
标题:
++n的疑问
只看楼主
加入收藏
qingxin111
等 级:
论坛游民
帖 子:71
专家分:29
注 册:2008-4-10
结帖率:
100%
楼主
收藏
问题点数:0 回复次数:7
++n的疑问
int n=5,m;
m=(++n)*(--n);m怎么等于25???不是++n等于6,--n等于5,5*6=30吗?
搜索更多相关主题的帖子:
疑问
2008-09-09 15:20
举报帖子
使用道具
赠送鲜花
awnucel
等 级:
新手上路
威 望:
1
帖 子:68
专家分:0
注 册:2006-12-13
第
2
楼
收藏
得分:0
最简单的说一句,n只是一个变量,同一时刻,只能代表一个值
不可能又是6又是5
2008-09-09 16:12
举报帖子
使用道具
赠送鲜花
qingxin111
等 级:
论坛游民
帖 子:71
专家分:29
注 册:2008-4-10
第
3
楼
收藏
得分:0
但这里是++n和--n啊
2008-09-09 16:21
举报帖子
使用道具
赠送鲜花
shade1220
等 级:
新手上路
帖 子:83
专家分:0
注 册:2008-8-5
第
4
楼
收藏
得分:0
[bo][un]qingxin111[/un] 在 2008-9-9 15:20 的发言:[/bo]
int n=5,m;
m=(++n)*(--n);m怎么等于25???不是++n等于6,--n等于5,5*6=30吗?
1.++n执行完后n=6
2.--n执行完后n=5
3.然后是*,正如2楼说的那样,变量n在某一时刻只有一个值,那就是执行2后的n=5;5*5=25
踏踏实实学习,认认真真编程
2008-09-09 16:27
举报帖子
使用道具
赠送鲜花
ginowang11
等 级:
新手上路
帖 子:6
专家分:0
注 册:2008-9-8
第
5
楼
收藏
得分:0
根据优先级*是最后运算的。
++n是个自加表达式,表达式的值是6
--n是个自减表达式,表达式的值是5
所以 ++n*--n 结果就为30 ,但是在调试的时候结果却是25!!!???
2008-09-09 17:58
举报帖子
使用道具
赠送鲜花
snakealpha
来 自:扬州
等 级:
新手上路
威 望:
1
帖 子:267
专家分:0
注 册:2005-11-5
第
6
楼
收藏
得分:0
回楼上,++--和*的优先级是一样的,详见 C陷阱与缺陷
但是++--是单目运算符,和*放在一起就有点麻烦了...这叫"未定义的行为",几乎所有的书都警告要避免"未定义的行为"
楼上的另外一封贴子不是已经见证了这种混乱与不合理性了吗?认真说,那个帖子里面VC的表现,我也糊涂着呢-_-|||
天涯也有江南信
梅破知春近
夜阑风细得香迟
不道晓来开遍向南枝
2008-09-09 18:10
举报帖子
使用道具
赠送鲜花
snakealpha
来 自:扬州
等 级:
新手上路
威 望:
1
帖 子:267
专家分:0
注 册:2005-11-5
第
7
楼
收藏
得分:0
对的,标准里面又没说该怎么做,所谓"未定义"的必然结果
...但是,我觉得把这个弄懂都不容易,何遑论以之写代码呢?
天涯也有江南信
梅破知春近
夜阑风细得香迟
不道晓来开遍向南枝
2008-09-09 18:34
举报帖子
使用道具
赠送鲜花
8
1/1页
1
快速回复:
++n的疑问
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.016407 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved