关于c语言的自增自减问题

来源:百度知道 编辑:UC知道 时间:2024/05/24 11:06:36
有两个程序:
#include<stdio.h>
void main( )
{
int i=8;
printf("%d,%d,%d,%d,%d,%d",++i,--i,i++,i--,-i++,-i--);
getch();
}
×××××××××以上为程序一×××××××××××
#include<stdio.h>
void main( )
{
int i=8;
printf("%d\n",++i);
printf("%d\n",--i);
printf("%d\n",i++);
printf("%d\n",i--);
printf("%d\n",-i++);
printf("%d\n",-i--);
getch();
}
××××××××××此为程序二××××××××××××
问题:
1.这两个程序的最后运算结果一样还是不一样。ps:我的编译环境是win-tc

肯定是不一样的啊....因为执行的先后顺序不一样啊

第一个printf("%d,%d,%d,%d,%d,%d",++i,--i,i++,i--,-i++,-i--);

这个是从右边向左边执行的(先执行-i--一直到++i)

第二个则是按照顺序从上往下执行(先执行++i一直到-i--)...怎么会一样

..南辕北辙啊..当然不一样..不信你可以编译下..基本的运算规律啊

各位大虾....请你们去翻翻基础的书在来发表评论....明显这2个程序的结果是不一样的,执行顺序不同啊......和我有同感的顶我!!!

我是用C++编译器给人编译出来的,我这没TC!
用TC好像你可以不加#include<stdio.h>
运行不一样:
第一个运行结果:8,7,8,8,-8,-8

第二个运行结果:
9
8
8
9
-8
-9

当然一样啊 ,这两个程序本质上是没有区别的 ,都是考察的变量i的自加自减问题,这里只要注意变量的作用域和自加自减的定义就可以了。++i表示先加1再调用,i++表示先调用再+1,“--i”和“i--”也是一样的 。

我想应该是一样的,都是求的表达式的值呀!!!又不是
i的值,还是编译一下,不过有十拿九稳了!!!

....去TC的环境试下。不就知道勒。

呵呵晕到啊
TC中输入输出都是自右想左
第一个先做
++i,--i,i++,i--,-i++,-i--);←从这边做起
第2个就是按顺序做也就是从这做 →++i,--i,i++,i--,-i++,-i--);
方向相反,当然不一样
大虾们还是看看小虾们吧