标题:一个简单程序,我运行的结果和理论不一致,大家分析问题在哪?
只看楼主
niluanxy
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-7-8
得分:0 
这种问题不要看了,没意义,不同的机器,不同的编译器,处理的方式不同,都会导致结果不一样,你那本书应该说明在什么环境下分析的。因为像这种语句,读取指令的方向,读取指令的方式,系统认为自增自减(即时是后缀,有时候执行的效果也是不同的)在什么时候执行,都会影响结果。你直接看生成的汇编代码就明白了。
2012-07-08 09:24
姻脂梦
Rank: 6Rank: 6
等 级:侠之大者
帖 子:264
专家分:424
注 册:2012-7-3
得分:0 
国产教材吭爹呀
2012-07-08 09:34
admin_xyz
Rank: 2
等 级:论坛游民
帖 子:195
专家分:77
注 册:2012-6-24
得分:0 
#include<stdio.h>
#include<stdlib.h>

int main()
{
    int i;
    i = 3;
    printf("++i = %d\n",++i);
    printf ("--i = %d\n",--i);
    printf ("i-- = %d\n",i--);
    printf ("i++ = %d\n",i++);
    printf ("i = %d\n\n",i);                    //看这个就全明白了.
    return 0;
}

总有人比你努力,可怕的是比你牛的人比你还努力。
2012-07-08 09:59
limengyangde
Rank: 1
等 级:新手上路
帖 子:8
专家分:7
注 册:2012-3-9
得分:0 
教材上的程序是用TC编译的,从右向左运行,我们一般用的VC是从左向右…
2012-07-08 22:19
qq492927689
Rank: 1
等 级:新手上路
帖 子:28
专家分:5
注 册:2011-4-27
得分:0 
楼主你这个问题很不清晰啊。建议用7楼的写法。
还有像你这种程序,主要是用来测试编译器的,结果不一样。是因为编译器的问题。
主要是因为你的编译器和书中编译器对数据计算的方向不一样。
2012-07-09 10:56
cqupt
Rank: 1
等 级:新手上路
帖 子:6
专家分:4
注 册:2012-3-26
得分:0 
书上错了吗 ?
我怎么觉得应该是正确的 计算顺序从又到左
2012-07-09 13:48
cqupt
Rank: 1
等 级:新手上路
帖 子:6
专家分:4
注 册:2012-3-26
得分:0 
七楼的写法程序就改了
2012-07-09 13:49
weibo654321
Rank: 1
等 级:新手上路
帖 子:4
专家分:5
注 册:2012-7-5
得分:0 
这个要根据具体系统和处理器看吧!不同电脑可能不一样!
2012-07-09 14:07
阿鞠尼
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:首尔
等 级:蒙面侠
威 望:5
帖 子:1467
专家分:4442
注 册:2012-5-30
得分:0 
回复 30楼 embed_xuel
岂止是c语言 简直什么都是  

喜欢睡觉 却经常熬夜
2012-07-09 20:06
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
以下是引用阿鞠尼在2012-7-9 20:06:49的发言:

岂止是c语言 简直什么都是  

别的语言也有这种试题?

授人以渔,不授人以鱼。
2012-07-09 20:29



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-366100-1-1.html




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

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