|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 令初学者头疼的问题,进来瞅瞅
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
877
人关注过本帖
标题:
令初学者头疼的问题,进来瞅瞅
只看楼主
加入收藏
laoyang103
来 自:内蒙古包头
等 级:
贵宾
威 望:
19
帖 子:3082
专家分:11056
注 册:2010-5-22
第
11
楼
收藏
得分:10
回复 10楼 moonnight
这就是你的问题
感觉很无聊
我觉得与其你弄懂这个问题
还不如把下面两个函数看明白
int addaddfun(int n){return n+=1;}
int funaddadd(int n){int temp = n;n+=1;return temp;}
===========深入<----------------->浅出============
2012-03-20 14:18
举报帖子
使用道具
赠送鲜花
moonnight
等 级:
职业侠客
帖 子:158
专家分:380
注 册:2012-3-17
第
12
楼
收藏
得分:0
回复 11楼 laoyang103
那个问题使我们老师给我说的!
你的第一个函数返回n+1;第二个返回n
2012-03-20 14:24
举报帖子
使用道具
赠送鲜花
胜利之神
等 级:
新手上路
帖 子:2
专家分:0
注 册:2012-3-20
第
13
楼
收藏
得分:0
菜鸟路过!看不懂在说什么?
2012-03-20 15:54
举报帖子
使用道具
赠送鲜花
laoyang103
来 自:内蒙古包头
等 级:
贵宾
威 望:
19
帖 子:3082
专家分:11056
注 册:2010-5-22
第
14
楼
收藏
得分:0
回复 12楼 moonnight
我是想告诉你 前缀++和后缀++的内部实现方式
把你代码中的++n全部用第一个函数代替
把n++全部用第二个函数代替
再去看看结果
===========深入<----------------->浅出============
2012-03-20 15:57
举报帖子
使用道具
赠送鲜花
moonnight
等 级:
职业侠客
帖 子:158
专家分:380
注 册:2012-3-17
第
15
楼
收藏
得分:5
回复 14楼 laoyang103
表示这个问题我真知道!
对于
int i=2;
printf("%d,%d",++i,i++);
这个的确要看编译器编译的顺序
2012-03-20 16:24
举报帖子
使用道具
赠送鲜花
星辰雁
等 级:
业余侠客
威 望:
1
帖 子:93
专家分:275
注 册:2011-9-10
第
16
楼
收藏
得分:5
“++i”与“i++”属于同一优先级,运算次序由结合方向决定。
而在此处,同一级别的运算符在一起执行时,按照从右往左的顺序执行。
printf("i,i++,i++ = %d,%d,%d\n",i,i++,i++)
所以执行到i++时i=10;此时内存中的i=10;
执行倒数第二i++时,内存i=10,所以结果还为10;
执行到i;刚好仍为10;最终结果如下:
i,i++,i++ = 10,10,10
不要认为CPU运算速度快就 把所有的问题都推给它去做,程序员应该将代码优化再优化,我们自己能做的决不要让CPU做 ,因为CPU是为用户服务的,不是为我们程序员服务的!
2012-03-20 17:29
举报帖子
使用道具
赠送鲜花
星辰雁
等 级:
业余侠客
威 望:
1
帖 子:93
专家分:275
注 册:2011-9-10
第
17
楼
收藏
得分:0
以上为VC++ 6.0的运行结果;
在TC2.0运行如下:
a = 6, b = 6, c = 6
i,i++,i++ = 12,11,10
13
12
12
13
-12
-13
不好意思,上面说的有点问题倒数第一个i++=10;
倒数第二个为i
不要认为CPU运算速度快就 把所有的问题都推给它去做,程序员应该将代码优化再优化,我们自己能做的决不要让CPU做 ,因为CPU是为用户服务的,不是为我们程序员服务的!
2012-03-20 17:39
举报帖子
使用道具
赠送鲜花
星辰雁
等 级:
业余侠客
威 望:
1
帖 子:93
专家分:275
注 册:2011-9-10
第
18
楼
收藏
得分:0
不好意思,上面说的有点问题倒数第一个i++=10;
倒数第二个在内存中为i=11;在执行i++;
执行到i是,i在内存中为12;至于在VC上为什么仍显示10;不晓得
不要认为CPU运算速度快就 把所有的问题都推给它去做,程序员应该将代码优化再优化,我们自己能做的决不要让CPU做 ,因为CPU是为用户服务的,不是为我们程序员服务的!
2012-03-20 17:40
举报帖子
使用道具
赠送鲜花
杨松松
等 级:
论坛游侠
帖 子:98
专家分:142
注 册:2011-12-3
第
19
楼
收藏
得分:0
还有这种事?眼界大开啊
2012-03-20 19:40
举报帖子
使用道具
赠送鲜花
w730333433
等 级:
新手上路
帖 子:3
专家分:0
注 册:2011-9-28
第
20
楼
收藏
得分:0
回复 8楼 C_戴忠意
新手受教了啊
2012-03-20 20:57
举报帖子
使用道具
赠送鲜花
21
2/3页
1
2
3
快速回复:
令初学者头疼的问题,进来瞅瞅
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.017077 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved