当前位置: 代码迷 >> C语言 >> 菜鸟问题......谢谢
  详细解决方案

菜鸟问题......谢谢

热度:74   发布时间:2006-06-10 14:45:38.0
菜鸟问题......谢谢

a=(b=5)*(c=8)

为什么会等于18?




i=3

K=(++i)+(++i)+(++i)

为什么值为40 10


----------------解决方案--------------------------------------------------------
第一题,相当于5*8;
第二题:++i先算完再算表达式,所以i经过三次加1后变成6,所以6+6+6=18;
----------------解决方案--------------------------------------------------------
可是书上答案第一题是18

第二是40 10
?????
----------------解决方案--------------------------------------------------------
Impossible……
----------------解决方案--------------------------------------------------------
书上又不是全对的,尽信书不如无书
----------------解决方案--------------------------------------------------------
提示: 作者被禁止或删除 内容自动屏蔽

2006-06-10 07:33:57
shuaiye

等 级:新手上路
帖 子:445
专家分:0
注 册:2006-5-15
  得分:0 

上机调调啊。
也许书有问题。


----------------解决方案--------------------------------------------------------

#include <stdio.h>

void main()
{
int i=3,k;

k=(++i)+(++i)+(++i);

printf("%d\n",k);

}
答案是 16哦 为什么呢?


----------------解决方案--------------------------------------------------------
a=(b=5)*(c=8)

的确是 40

楼主是不是 没写全啊 可能还有别的东西呢吧
----------------解决方案--------------------------------------------------------

那个 ++i的问题 我发现 要是k=++i 是4 k=2个++i 是10 然后就不在有变化了 加个 ++i 就等于加个 6 7 8 等了

搞不懂


----------------解决方案--------------------------------------------------------
  相关解决方案