鱼C论坛

 找回密码
 立即注册
查看: 1421|回复: 17

[已解决]c语言入门

[复制链接]
发表于 2016-12-16 00:57:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include <stdio.h>

void main()
{
    int i = 2,p;
    p = ++i + ++i;
    printf("%d",p);
}
为什么输出的是8 而不是7 是不是因为从右算所以还要加1
最佳答案
2016-12-16 08:25:45
++i表示先递增,后运算。
这里有两次递增,递增后i=4,所以结果是4+4=8。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-12-16 08:25:45 | 显示全部楼层    本楼为最佳答案   
++i表示先递增,后运算。
这里有两次递增,递增后i=4,所以结果是4+4=8。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-12-16 11:48:41 | 显示全部楼层
本帖最后由 周同学 于 2016-12-16 11:50 编辑
Kotori 发表于 2016-12-16 08:25
++i表示先递增,后运算。
这里有两次递增,递增后i=4,所以结果是4+4=8。


那如果再加一个++i  运算结果是等于13的按你这样的话不是等于15了还是不对呀。。。。。。对了++i 是有括号的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-12-16 11:51:24 | 显示全部楼层
精辟
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-12-16 14:26:15 | 显示全部楼层
我没搞懂……

++i + ++i 输出是8   (4+4)

++i + ++i + ++i 输出是13  ??

为什么?
如果按运算符优先级,确实++是2,+是5,那么先运算++的话,第二个表达式应该是 5+5+5=15啊?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-12-16 22:48:58 | 显示全部楼层
一看便知
无标题.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2016-12-16 22:51:51 | 显示全部楼层
zealstar 发表于 2016-12-16 14:26
我没搞懂……

++i + ++i 输出是8   (4+4)

无标题.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-12-16 22:54:33 | 显示全部楼层
VS2015:
1.png
可能是编译器的问题,看下反汇编吧.....
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-12-17 11:15:59 | 显示全部楼层
本帖最后由 zealstar 于 2016-12-17 11:23 编辑


多谢,应该是以前的编译器的问题,DEV C++也不太可靠啊,

1.png

它先算的左边2个++i,然后就丢进AX里了……之后又做了一个++i放DX里…………蛋疼……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-12-17 11:23:47 | 显示全部楼层
Kotori 发表于 2016-12-16 22:54
VS2015:

可能是编译器的问题,看下反汇编吧.....

也多谢你,看来必须装VC2015嘛……以前的编译器都用不成的感觉
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-12-17 16:11:33 | 显示全部楼层

在虚拟机的CentOS 6里面测试也是13……我有点晕了……到底问题出在哪??
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-12-17 17:14:37 | 显示全部楼层
zealstar 发表于 2016-12-17 16:11
在虚拟机的CentOS 6里面测试也是13……我有点晕了……到底问题出在哪??

“到底问题出在哪??”
编译器
^_^
现在可以说了:
不同的环境(编译器,或其他硬件平台)得到的结果不同!
纠结这类问题没有意义。
^_^
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-12-17 21:13:27 | 显示全部楼层
人造人 发表于 2016-12-17 17:14
“到底问题出在哪??”
编译器
^_^

可能因为我的是AMD的CPU吧……好了,真心不纠结了

顺便一问,你用的是Z版WIN10系统么?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-12-17 23:20:32 | 显示全部楼层
zealstar 发表于 2016-12-17 21:13
可能因为我的是AMD的CPU吧……好了,真心不纠结了

顺便一问,你用的是Z版WIN10系统么?

什么是z版?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-12-17 23:53:55 | 显示全部楼层

正版,Z版
D版……

WIN10据说是免费版,但是我百度出来各种都有……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-12-18 00:45:31 | 显示全部楼层
本帖最后由 人造人 于 2016-12-18 00:48 编辑
zealstar 发表于 2016-12-17 23:53
正版,Z版
D版……


这年头用正版的不多啊
我的是专业版
不过用百度的激活码
win8不免费吗?
ghost不就好了
百度随便下载一个ghost安装不就好了
就算是正版,百度一堆激活码,一些激活工具
随便用一个激活不就好了
你的电脑是win7?

升到win10吧^_^
就算不用win10, win 8 也不错
win7是很久之前的版本了
不过xp用的人也不少
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2016-12-18 12:53:39 | 显示全部楼层
人造人 发表于 2016-12-18 00:45
这年头用正版的不多啊
我的是专业版
不过用百度的激活码

了解,主要是VS2015安装过程中下载的补丁真心太多了,感觉到这个玩意是对应WIN10的……

所以,可能在学完目前的C之后,要换系统了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-2-7 10:40:55 | 显示全部楼层
讲道理啦,真的在写代码的时候最好不要出现这种情况。很多人都弄不清楚的啊对吧,也只有乱七八糟考试才这么做。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-1 18:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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