| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1958 人关注过本帖
标题:谁能告诉我这是为什么
取消只看楼主 加入收藏
freish
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1223
专家分:437
注 册:2007-6-1
结帖率:100%
收藏
 问题点数:0 回复次数:6 
谁能告诉我这是为什么
程序代码:
#include <iostream>
using namespace std;
int main()
{
    int a=1;
    //int d = a++ + a-- + a++;
    int s = (a++) + (--a) + (a--) + (++a);

    //int p =++a;
    //p += a--;
    //p += ++a;
    printf("s=%d\na=%d",s,a);
    return 0;
}


谁能告诉我这个程序是怎么执行的

[[it] 本帖最后由 freish 于 2008-11-4 10:04 编辑 [/it]]

cpp.jpg (30.62 KB)
图片附件: 游客没有浏览图片的权限,请 登录注册


java.jpg (22.45 KB)
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: 语句 
2008-11-03 23:19
freish
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1223
专家分:437
注 册:2007-6-1
收藏
得分:0 
结果与想象的完全不一样
2008-11-03 23:30
freish
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1223
专家分:437
注 册:2007-6-1
收藏
得分:0 
大家试验后在说话,不要空想,结果是与想象不一样的

但在java中就与想象中的一样了
2008-11-04 07:57
freish
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1223
专家分:437
注 册:2007-6-1
收藏
得分:0 
[bo][un]冰烨[/un] 在 2008-11-4 09:29 的发言:[/bo]

右结合应该是248,vc2005是左结合,左结合应该是238

貌似不是按左右结合来的
我左右都算了,调试的结果却与左右结合的结果都不相同
2008-11-04 09:42
freish
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1223
专家分:437
注 册:2007-6-1
收藏
得分:0 
百思不得其解啊
2008-11-04 09:55
freish
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1223
专家分:437
注 册:2007-6-1
收藏
得分:0 
[bo][un]sunkaidong[/un] 在 2008-11-4 09:56 的发言:[/bo]

楼上的兄弟怎么跑c++来了..你的java很棒...对于类的操作很娴熟...呵呵

最近找工作老考c++,一年多没接触这东西了,回顾一下,复习一下

神啊,给我工作吧!
2008-11-04 10:00
freish
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1223
专家分:437
注 册:2007-6-1
收藏
得分:0 
[bo][un]youhm[/un] 在 2008-11-4 10:47 的发言:[/bo]

00401578   mov         dword ptr [ebp-4],1
8:
9:        int d=a++ + a-- + a++;
0040157F   mov         eax,dword ptr [ebp-4]
00401582   add         eax,dword ptr [ebp-4]
00401585   add         eax ...

OH,汇编,丢了很多年了

听说这个代码在里跑出来的结果跟java中是一样的
2008-11-04 10:54
快速回复:谁能告诉我这是为什么
数据加载中...
 
   



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

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