标题:一个简单程序,我运行的结果和理论不一致,大家分析问题在哪?
只看楼主
greennet111
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2012-4-14
结帖率:100%
已结贴  问题点数:2 回复次数:102 
一个简单程序,我运行的结果和理论不一致,大家分析问题在哪?
#include<stdio.h>
#include<stdlib.h>


main()
{
    int i;

    i=3;
    printf("%d\t%d\t%d\t%d\n",++i,--i,i--,i++);
   
    system("pause");
    return 0;
}                        
书上的结果是3 2 4 3   我电脑运行是3 2 3 3   我觉得书上分析的很准确啊   大神  求教啊
搜索更多相关主题的帖子: include system return 
2012-04-18 15:47
无情屠神
Rank: 2
等 级:论坛游民
帖 子:13
专家分:22
注 册:2012-4-5
得分:0 
我电脑运行是3 2 4 3.

2012-04-18 16:16
greennet111
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2012-4-14
得分:0 
回复 2楼 无情屠神
你有没有修改程序啊   我的机子是32位的   我觉得应该是3 2 4 3的   怎么我的电脑有问题么

巾帼不让须眉
2012-04-18 16:19
a646404908
Rank: 6Rank: 6
等 级:侠之大者
威 望:5
帖 子:189
专家分:492
注 册:2012-2-14
得分:0 
弱弱的问一句
  你这例子是哪本书的?
        这么教这些啊。。
2012-04-18 17:13
greennet111
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2012-4-14
得分:0 
《c语言开发手册》 电子工业出版社的  11年出版的啊 我前几天在新华书店买的啊

巾帼不让须眉
2012-04-18 17:27
greennet111
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2012-4-14
得分:0 
回复 4楼 a646404908
你可以帮我分析下是什么原因不啊

巾帼不让须眉
2012-04-18 17:28
a646404908
Rank: 6Rank: 6
等 级:侠之大者
威 望:5
帖 子:189
专家分:492
注 册:2012-2-14
得分:0 
printf("%d\t%d\t%d\t%d\n",++i,--i,i--,i++);

在VC下 从右往左运算 但是这条语句 只自增自减不赋值
所以printf("%d\t%d\t%d\t%d\n",(++i)=3,(--i)=2,(i--)=3,(i++)=3);
但是不建议这种写法
因为在不同编译器结果会有所不同
别人也看不清楚你的意思
你可以这样写:
printf("%d\t\n",++i);
printf("%d\t",--i);
printf("%d\t",i--);
printf("%d\t",i++);
别在对这问题纠结了








[ 本帖最后由 a646404908 于 2012-4-18 17:44 编辑 ]
2012-04-18 17:43
greennet111
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2012-4-14
得分:0 
回复 7楼 a646404908
恩 像你那样运行的结果是4 3 3 2   没有问题   但是我觉得书中说的很有道理啊  ,结果就应该是3  2   4  3   你说只自增自减不赋值   那(i--)=3,(i++)=3可以理解   怎么(++i)=3,(--i)=2啊   我觉得无法理解啊

巾帼不让须眉
2012-04-18 18:00
a646404908
Rank: 6Rank: 6
等 级:侠之大者
威 望:5
帖 子:189
专家分:492
注 册:2012-2-14
得分:0 
++i先自增再赋值
i++先赋值再自增
所以++i 就会执行自增
i++不变
2012-04-18 18:03
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:1 
楼主那本书可以扔了。再问这种问题,就删。现在先不锁这帖,下次被锁或被删了什么帖子,九成是与此类问题有关的原因,到时不要问为什么。

授人以渔,不授人以鱼。
2012-04-18 18:10



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




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

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