鱼C论坛

 找回密码
 立即注册
查看: 2606|回复: 20

关于i++,++i的一些问题

[复制链接]
发表于 2014-7-30 10:55:57 | 显示全部楼层 |阅读模式
1鱼币
#include <stdio.h>

void main()
{
        int i=8;
        printf("%d\n%d\n%d\n%d\n%d\n%d\n%d\n",i,++i,--i,i++,i--,-i++);
}
得出来的值是多少呢,不同的编译器算出来会不会不一样呢?好费解

最佳答案

查看完整内容

这个问题,在你没初步研究汇编语言之前,没必要深究。 研究了汇编语言后,你会发现,不同的编译器,会把你的++符号编译成不同的汇编语句。 这没什么惊奇的,程序(编译器也是程序)都是人写的,编写的人想怎样就怎样。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-7-30 10:55:58 | 显示全部楼层
这个问题,在你没初步研究汇编语言之前,没必要深究。
研究了汇编语言后,你会发现,不同的编译器,会把你的++符号编译成不同的汇编语句。
这没什么惊奇的,程序(编译器也是程序)都是人写的,编写的人想怎样就怎样。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-7-30 11:21:55 | 显示全部楼层
加的艺术.PNG
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-7-30 11:49:54 | 显示全部楼层
与编译器有关啊,记得给分啊:sad
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-7-30 12:11:26 | 显示全部楼层
论坛自己找一下 N多大牛做过很多次详细的解答
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-7-30 13:59:11 | 显示全部楼层
结果如下。。。。

我觉得应该是 8,9,8,8,9,7
QQ五笔截图未命名.jpg


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-7-30 15:26:05 | 显示全部楼层
C语言默认采用的是_cdecl函数调用方法,函数参数从右到左依次入栈, 所以计算过程是从右到左的,你试试
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-7-30 16:06:06 | 显示全部楼层
好像很难得样子:titter:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-7-30 21:57:57 | 显示全部楼层
这个确实跟编译器有关系,小甲鱼的课里面有讲的。。。。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-7-30 23:12:37 | 显示全部楼层
wuyoun17 发表于 2014-7-30 21:57
这个确实跟编译器有关系,小甲鱼的课里面有讲的。。。。。。

提示了一点的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-7-30 23:13:15 | 显示全部楼层

对我来说,理不过来了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-7-30 23:21:03 | 显示全部楼层
vvqboy 发表于 2014-7-30 12:54
这个问题,在你没初步研究汇编语言之前,没必要深究。
研究了汇编语言后,你会发现,不同的编译器,会把你 ...

可是我就想知道我的VC++编译器是怎么运行这个语句的,我的编译器答案是8,7,8,8,-8,-8,他视频里面提到先算所有的i的前面的++和--,算出来i的值之后怎么计算呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-7-30 23:21:51 | 显示全部楼层
『浴火凤凰』 发表于 2014-7-30 13:59
结果如下。。。。

我觉得应该是 8,9,8,8,9,7

你是怎么算的呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-7-30 23:24:37 | 显示全部楼层
Whatafuck 发表于 2014-7-30 11:49
与编译器有关啊,记得给分啊

怎么给分呐
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-7-31 01:20:02 | 显示全部楼层
8
9
8
8
8
-8
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-7-31 09:58:13 | 显示全部楼层
嗯嗯
应该有关吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-7-31 17:20:46 | 显示全部楼层
liuwang 发表于 2014-7-31 09:58
嗯嗯
应该有关吧

我还是不太明白我的编译器是怎么运算的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-7-31 17:49:55 | 显示全部楼层
帮顶
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-7-31 19:17:32 | 显示全部楼层
a++:后置自加运算符,表示先把a的值打印到屏幕上,然后把再把a的值加上1。
++a:前置自加运算符,表示先把a的值加上1,然后再把a的值打印到屏幕上。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-8-1 12:45:11 | 显示全部楼层
对,就不同编译器编译结果不同
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-29 14:50

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表