| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1494 人关注过本帖
标题:请教:C语言中的表达式(急)
只看楼主 加入收藏
zqj417
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2006-2-16
收藏
得分:0 
看完楼上各位高手的解释后,我已经晕了
到底谁对啊
2006-02-18 14:30
zinking
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:35
帖 子:916
专家分:0
注 册:2004-12-5
收藏
得分:0 
我认为这样的题目没有意思。不同的编译器会对这类表达式做出不同的编译有的自左向右也有的自右向左。具体的可以参见各个编译器的说明。考试中出现这样的题目是,没有任何意义的
我觉得在写程序过程中 不要出现这样的表达。要答案那就指定编译器然后去试验一下就行了

就研究语言语法,这类题目也是没有意义的

http://kongfuziandlife. http://codeanddesign.
2006-02-18 14:37
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 
k=3;
b=k+(k++);
请问b的值是多少?

何解为 6 我上机试也是 6 就是不太懂

[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-02-18 17:54
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 
明白了..虽然 (k++) 有括号  但C编译系统仍然先算第二个K 对吗?

[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-02-18 17:56
woodhead
Rank: 3Rank: 3
等 级:新手上路
威 望:9
帖 子:1124
专家分:0
注 册:2005-7-18
收藏
得分:0 
同意zinking的说法,在C++中这种是属于未定义的,具体要看编译器的,不知C中怎么定义的.

2006-02-18 18:24
nyhejp
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-2-19
收藏
得分:0 

答案应该是6,6,7。我用c#验证过。第一个式子和第二个式子应该很好理解。第三个式子,应该如下分析:式子从左到右应该计算,++k应该是先自加后k的值是4,因为是从左到右计算,因此4+3=7;b的值是7。

2006-02-19 11:32
wengych
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2006-2-19
收藏
得分:0 
楼上的有点搞笑啦,C#本来就和C/C++的标准有所不同

看到这么多人在“纠缠”于这个问题,于是用GCC编译了一下试试
结果为768
对于此类问题最好用比较符合C99标准的编译器啦,尽管大多数编译器不会完全符合标准
但是C99标准是事实上C语言最统一的标准了

系统工程师,主要从事基于SUN服务器的系统集成 爱好编程,C/C++/JAVA Debian
2006-02-19 11:50
快速回复:请教:C语言中的表达式(急)
数据加载中...
 
   



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

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