| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1494 人关注过本帖
标题:请教:C语言中的表达式(急)
只看楼主 加入收藏
jsj818
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2006-2-16
收藏
 问题点数:0 回复次数:26 
请教:C语言中的表达式(急)
k=3;
k=k+(k++);
请问K的值是多少?


k=3;
b=k+(k++);
请问b的值是多少?

k=3;
b=k+(++k);
请问b的值是多少?




搜索更多相关主题的帖子: C语言 表达 
2006-02-16 09:15
stdio
Rank: 1
等 级:新手上路
帖 子:92
专家分:0
注 册:2006-1-22
收藏
得分:0 
7 7 8

好像是
2006-02-16 11:50
zxl_00
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-2-16
收藏
得分:0 
赋值运算的顺序是从右到左,所以答案应该如下:
第一题:7
第二题:6
第三题:8
2006-02-16 11:58
stdio
Rank: 1
等 级:新手上路
帖 子:92
专家分:0
注 册:2006-1-22
收藏
得分:0 
为什么第一题和第二题的答案不一样?
2006-02-16 12:37
超级新手
Rank: 2
等 级:论坛游民
帖 子:185
专家分:59
注 册:2006-2-9
收藏
得分:0 

应该不和赋值有关系;
k=k+(k++); 分解:k=k+k;k=k+1;
b=k+(k++); 分解:b=k+k;

b=k+(++k); 分解:k=k+1;b=k+k;


快快来我的群:13485998
学学C,玩玩算法,搞搞加密,比比谁更菜?
ARM恨死你。
2006-02-16 12:38
Almeida
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-2-16
收藏
得分:0 

你说的三到题应该只能算两道 前两道形式和结果是完全一样的 大家可以上机验证一下
就先拿
k=3;
k=k+(k++);说明
运算符中()优先级是>>算术运算符的,所以这里程序会先从后面开始 用自然语言来表示如下:
1: k=3;
2: k++==3;
3: 双目运算符+左边的K此时变为4;
4:结果K最后变为"k=4+3"
大家应该知道K=?了吧

最后那道题k=k+(++k) 只不过在(++K)与上题有所不同 这时上题的第二步 变味++k==4 下一步中: 双目运算符+左边的K此时同样也为4;
结果“k=4+4”
OK 就这样了!!不知道楼主理解了没有!!


QQ:493225151 为我国基础编程事业作出自己应又的贡献!


QQ:493225151 为我国基础编程事业作出自己应有的贡献! Chinese is the best !
2006-02-16 12:44
stdio
Rank: 1
等 级:新手上路
帖 子:92
专家分:0
注 册:2006-1-22
收藏
得分:0 
上机验证之后 结果是 7 6 8 啊
2006-02-16 12:50
天晶子剑
Rank: 1
等 级:新手上路
帖 子:77
专家分:0
注 册:2006-2-13
收藏
得分:0 

我再tc下的运行结果是4,6,8。
为什么a=3,b=a+(a++)的值是4?

2006-02-16 12:55
stdio
Rank: 1
等 级:新手上路
帖 子:92
专家分:0
注 册:2006-1-22
收藏
得分:0 
楼上的 怎么我的程序运行出来是6啊
2006-02-16 12:56
超级新手
Rank: 2
等 级:论坛游民
帖 子:185
专家分:59
注 册:2006-2-9
收藏
得分:0 
把b 打成a 了吧

快快来我的群:13485998
学学C,玩玩算法,搞搞加密,比比谁更菜?
ARM恨死你。
2006-02-16 12:57
快速回复:请教:C语言中的表达式(急)
数据加载中...
 
   



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

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