|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 自增自减的问题
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
581
人关注过本帖
标题:
自增自减的问题
只看楼主
加入收藏
njzhangyuhao
等 级:
论坛游民
帖 子:197
专家分:35
注 册:2010-11-20
结帖率:
100%
楼主
收藏
问题点数:0 回复次数:12
自增自减的问题
在TC里 j=3;k=(j++)+(j++)+(j++);
k是多少?
是3个j都用过了再一起+3还是一个一个+1?
2011-03-04 17:24
举报帖子
使用道具
赠送鲜花
chenwei435
等 级:
青峰侠
威 望:
2
帖 子:322
专家分:1611
注 册:2010-11-28
第
2
楼
收藏
得分:0
回复 楼主 njzhangyuhao
j=3;k=(j++)+(j++)+(j++); 是先把k算出来,再j+1则结果是k=9而j=6;
[
本帖最后由 chenwei435 于 2011-3-4 17:47 编辑
]
2011-03-04 17:39
举报帖子
使用道具
赠送鲜花
njzhangyuhao
等 级:
论坛游民
帖 子:197
专家分:35
注 册:2010-11-20
第
3
楼
收藏
得分:0
如果是k=(j++)+(++j)+(j++)*j
结果是多少是怎么算的?
2011-03-04 17:42
举报帖子
使用道具
赠送鲜花
chenwei435
等 级:
青峰侠
威 望:
2
帖 子:322
专家分:1611
注 册:2010-11-28
第
4
楼
收藏
得分:0
回复 3楼 njzhangyuhao
还是先把k=(j++)+(++j)+(j++)*j中的j算出来,再算k;则k=48 j=6
这样想是错的,我刚在tc下运行了下。不是这样的。它会先把把那个++j先加一下,再算k,最后再加一下最后一个j;
[
本帖最后由 chenwei435 于 2011-3-4 18:06 编辑
]
2011-03-04 17:49
举报帖子
使用道具
赠送鲜花
chenwei435
等 级:
青峰侠
威 望:
2
帖 子:322
专家分:1611
注 册:2010-11-28
第
5
楼
收藏
得分:0
回复 3楼 njzhangyuhao
而若是
a=3
k=(++a)+(++a);
则k=10
a=5,也就是a加一后等于4再加一等于5,再运算k,算出k等于10
2011-03-04 17:51
举报帖子
使用道具
赠送鲜花
njzhangyuhao
等 级:
论坛游民
帖 子:197
专家分:35
注 册:2010-11-20
第
6
楼
收藏
得分:0
回复 4楼 chenwei435
???不对啊 怎么是48? 全是(++j)才应该是48啊 有j++啊
2011-03-04 18:01
举报帖子
使用道具
赠送鲜花
chenwei435
等 级:
青峰侠
威 望:
2
帖 子:322
专家分:1611
注 册:2010-11-28
第
7
楼
收藏
得分:0
回复 6楼 njzhangyuhao
楼主看清了,不管一个表达式中有什么,碰到++j,就先把j 给加了,再运算。碰到j++,就先把结果算出来再j=j+1;
举个例子:
k=(j++)+(++j)+(j++);
也就是先算第二个,也就是j=j+1的j=4, 再算k=4+4+4;的k=12,再算++j,的j=6
2011-03-04 18:11
举报帖子
使用道具
赠送鲜花
baobaoisme
来 自:AVATAR
等 级:
黑侠
帖 子:260
专家分:506
注 册:2010-7-9
第
8
楼
收藏
得分:0
这个没意思啊,不同编译器可能处理方法不同,写程序尽量避免二义性,注重通用性
2011-03-04 18:30
举报帖子
使用道具
赠送鲜花
wolonga123
等 级:
论坛游民
帖 子:25
专家分:35
注 册:2010-9-16
第
9
楼
收藏
得分:0
回复 5楼 chenwei435
这样的话k也是等于9啊即k=(a+1)+(a+1)
2011-03-04 19:53
举报帖子
使用道具
赠送鲜花
wolonga123
等 级:
论坛游民
帖 子:25
专家分:35
注 册:2010-9-16
第
10
楼
收藏
得分:0
等于12,即开始j=3,执行完j++后,j自加1等于4,再执行j++,j等于5.得结果3+4+5
2011-03-04 19:56
举报帖子
使用道具
赠送鲜花
13
1/2页
1
2
快速回复:
自增自减的问题
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.051815 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved