鱼C论坛

 找回密码
 立即注册
查看: 2824|回复: 14

看了视频不懂,新手求解释啊

[复制链接]
发表于 2013-6-10 18:43:33 | 显示全部楼层 |阅读模式
1鱼币
#include "stdio.h"
void main()
{
int i=5,j=5,p,q;
p=(i++)+(i++)+(i++);
q=(++j)+(++j)+(++j);
printf("%d\n,%d\n,%d\n,%d\n",p,q,i,j);
}


按我的理解应该
p=18
q=18
i=5
j=5
的啊
为什么运行后得到的是
p=15
q=22
i=8
j=8的


最佳答案

查看完整内容

i++ 是先运算后自加,++j是先自加后运算 所以p=5+5+5; i→ i++=6→i++=7→i++=8;j同理 至于q嘛 我算也是错的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-6-10 18:43:34 | 显示全部楼层
i++  是先运算后自加,++j是先自加后运算
所以p=5+5+5;
i→ i++=6→i++=7→i++=8;j同理
至于q嘛 我算也是错的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-6-10 20:18:26 | 显示全部楼层

C:\Documents and Settings\Administrator\桌面

谢谢其他3个我都懂了就是q
q有可能是运行错误吗?还是我们输入的方法错误?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-6-10 20:32:59 | 显示全部楼层
向各位学习:lol
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-6-10 23:18:27 | 显示全部楼层

你都应该学了很久吧。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-6-11 00:04:34 | 显示全部楼层
学习了。。。。。。。。。。。。。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-6-11 15:10:42 | 显示全部楼层
q=((++j)+(++j))+(++j)吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-6-11 18:41:28 | 显示全部楼层
黑猪 发表于 2013-6-10 20:18
谢谢其他3个我都懂了就是q
q有可能是运行错误吗?还是我们输入的方法错误?

应该不是吧,但是我觉得是可能运算的自左向右或是自右向左的结合性吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-6-12 10:24:28 | 显示全部楼层
a372187663 发表于 2013-6-11 15:10
q=((++j)+(++j))+(++j)吧

他的题目是这样啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-6-12 15:40:32 | 显示全部楼层
顶一个,同样疑问,我算下,p=15,q=21..运行下,对不上了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-6-12 15:43:37 | 显示全部楼层
还有就是          y=(x=a+b),(b+c);  这条语句,Y是6,,        y=((x=a+b),(b+c));这样算才是10???
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-6-17 21:35:31 | 显示全部楼层
卧槽。。。。。。。。。。。。。。。。。。。。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-6-18 16:15:24 | 显示全部楼层
黑猪 发表于 2013-6-12 10:24
他的题目是这样啊

q=((++j)+(++j))+(++j)...
我 是说运算方式是先算前两个7相加再加后面的8.就是22了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-6-18 22:13:51 | 显示全部楼层
我跑了一遍,q=24。。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-6-18 22:20:48 | 显示全部楼层
刚才试了下让q=(++j)+(++j)+(++j)+(++j);结果是36。那应该是这样子的:其实就是9+9+9+9,表达式会先把4个++j运算完,再把结果赋值给q
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-28 22:14

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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