| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1494 人关注过本帖
标题:请教:C语言中的表达式(急)
只看楼主 加入收藏
zushuboderen
Rank: 1
等 级:新手上路
帖 子:112
专家分:0
注 册:2005-12-24
收藏
得分:0 
778六楼的说的对呵呵

冷静点............. 耐心点.............
2006-02-16 15:26
kikikoko
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2006-2-6
收藏
得分:0 
反对6楼的说法:

k=3;
k=k+(k++);

这一题的运算顺序是k=3+3;
执行这一步后再执行k++;
最后得出的结果才是k=7;

对比之下就很明显:
k=3;
b=k+(k++);

先执行:b=3+3;
再执行:k++;
最后得出的记过是:b=6;k=4;

最后的一题其运算顺序是:
先执行:++k; (k=4)
再执行b=k+k; (b=8;k=4)

2006-02-16 16:12
超级新手
Rank: 2
等 级:论坛游民
帖 子:185
专家分:59
注 册:2006-2-9
收藏
得分:0 

如果这样 那应该支持5楼的说法呀

谁对谁错?


快快来我的群:13485998
学学C,玩玩算法,搞搞加密,比比谁更菜?
ARM恨死你。
2006-02-16 16:14
吸血鬼王
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2005-12-17
收藏
得分:0 
这种问题最好自己先上机试一下,然后这种自加自减跟编译器也有关系的。
2006-02-16 16:40
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
收藏
得分:0 
我试过了
7 6 8啊 我也用的TC
为什么 第一个和第二个的结果不一样啊?

[此贴子已经被作者于2006-2-16 22:20:03编辑过]


羊肉串 葡萄干 哈密瓜!!
2006-02-16 22:16
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
收藏
得分:0 

12楼说的对吗?


羊肉串 葡萄干 哈密瓜!!
2006-02-16 23:24
xieyuandog
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-2-13
收藏
得分:0 

1、k=3;
k=k+(k++);
要注意++在后面是先运算再自加的,所以执行k=3+3=6,然后自加就是k=k+1=7了
2、k=3;
b=k+(k++);
如上题,先执行b=3+3=6,然后k才自加,故些时K=4,而最终结果则是b=6
3、k=3;
k=k+(++k);
要注意++在前面是先自加再运算的,所以先执行++k,即得k=4然后再执行k=k+k=4+4=8
  综上所述,运算结果为7、6、8

2006-02-17 10:16
羊爱上了狼
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2006-1-30
收藏
得分:0 
我认为是667啊!!
k=3;
k=k+(k++);取k++前的值;k=k+3=6;
2.b也是一样啊!
第3个是取++k的值在加上k;
b=3+4=7;

掌握技术为国人的软件事业发展作出贡献!!!!这是我的愿望!!!
2006-02-17 11:05
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
收藏
得分:0 
楼上的 自己去试一试就知道了

羊肉串 葡萄干 哈密瓜!!
2006-02-17 20:07
stdio
Rank: 1
等 级:新手上路
帖 子:92
专家分:0
注 册:2006-1-22
收藏
得分:0 
7 6 8

[此贴子已经被作者于2006-2-17 20:54:08编辑过]


2006-02-17 20:54
快速回复:请教:C语言中的表达式(急)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.032984 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved