CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

为什么C语言中printf("%d",x-->(x+y));输出的是1呢,而不是0?

楼主treeInSky(绿茶)2005-06-03 12:52:49 在 C/C++ / C语言 提问

最近我在做练习的时候遇到了这样一个问题,请大家帮忙!  
  题目是这样:  
  int   x=1,y=0;  
  求x-->(x+y)的值?  
  我用printf("%d",x-->(x+y));  
  在VC++6.0,输出的是0;  
  但是在Tubor   c2.0下,确是1,不知道为什么?  
   
  还有的问题就是C语言是怎样解析表达式的!  
  麻烦大家了! 问题点数:0、回复次数:11Top

1 楼lbing7(向青润老大学习!!!)回复于 2005-06-03 13:01:07 得分 0

x-->(x+y)  
  ....................  
  上面那个是什么东西??Top

2 楼lbing7(向青润老大学习!!!)回复于 2005-06-03 13:06:53 得分 0

没看过编译后的汇编代码,我猜一下  
  在VC++6.0,输出的是0;  
  作为:  
  0>0   //x自减后再求解所有表达式  
   
  但是在Tubor   c2.0下,确是1  
  作为:  
  1>0//X的值作为表达的的值,再自减运算Top

3 楼foochow(无聊,灌水......)回复于 2005-06-03 13:07:33 得分 0

mark!!不知道Top

4 楼myyingmingmy(jklj)回复于 2005-06-03 13:25:05 得分 0

只是编译器的不同而已  
  次序是不一样的  
  C语言中函数运算次序一般是从右至左的Top

5 楼zloves(俺是菜鸟)回复于 2005-06-03 13:26:47 得分 0

dingTop

6 楼whyglinux(山青水秀)回复于 2005-06-03 13:30:27 得分 0

x-->(x+y)的结果是不确定的,因为它的结果跟操作数的求值顺序有关。但是由于标准并没有对操作数的求值顺序作出规定,所以这是一个没有定义的表达式。  
   
  无定义的表达式一般有这样的特点:表达式中一个变量(如上式中的   x)被改变一次或以上(x--),但是却被使用两次或以上(x   >   x+y)。在程序中使用无定义的表达式是错误的。Top

7 楼mostideal(三甲)回复于 2005-06-03 13:35:10 得分 0

楼上的说的有理。。。Top

8 楼icansaymyabc(学习与进步)回复于 2005-06-03 13:41:40 得分 0

考这种题真是无聊Top

9 楼whatsouta(某疯子)回复于 2005-06-03 13:42:37 得分 0

这个跟编译器有关Top

10 楼aladdin2006(回答问题不接分,不想要分,只为提高技术,解决问题)回复于 2005-06-03 14:00:25 得分 0

c#和   VC   用的是一个的编译器   ,TC是另一个编译器         有区别的。你可以找个++   ,--这样的运算组合就可以检验出来的,结果包准不一样Top

11 楼soft_biao(巴不豆)回复于 2005-06-03 14:39:07 得分 0

编译器问题Top

相关问题

  • printf("%*c",......)
  • C语言太讽刺了吧?printf("幂:%d\n" , x^y) ;(x=5,y=2),,得到结果7???????????高人解释一下,^不是求幂吗?
  • 哪位有解f = a*x*x+b*y*y+c*x*y+d*x+e*y+g的代码啊???
  • 如何解析((a + b - (a * b) % (c + d)) / x - y + (w * z))的結果?
  • 如何解析((a + b - (a * b) % (c + d)) / x - y + (w * z))的結果?
  • 如何解析((a + b - (a * b) % (c + d)) / x - y + (w * z))的結果?
  • 【 魂 断 C S D N 】
  • a b c d 四个数组,
  • d版borland c++ builder"6"
  • c_z_y(用力)请进:-)

关键词

  • vc++
  • 编译器
  • vc
  • 表达式
  • 输出
  • 运算
  • 语言
  • 定义

得分解答快速导航

  • 帖主:treeInSky

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo