标题:请问下++a的问题
只看楼主
miao_100200
Rank: 2
来 自:广东-广州
等 级:论坛游民
帖 子:45
专家分:30
注 册:2009-10-26
结帖率:77.78%
已结贴  问题点数:30 回复次数:11 
请问下++a的问题
#include <stdio.h>
main(void)
{
    int a,b,c;
    a=3;
    b=5;
    c=(++a)*b+(++a);
    printf(" %d\n",c);
    return 0;
}
这个用计算机算出来的是25,但我在别人的帖子里看到的是125.所以我在这想问下这个
    a=3;
    b=5;
    c=(++a)*b+(++a);是多少??又是怎样算的?
  
搜索更多相关主题的帖子: 计算机 void include return 
2009-10-29 21:38
Kid_X
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:216
专家分:515
注 册:2007-10-8
得分:5 
4 * 5 + 5 = 25
2009-10-29 21:47
玩出来的代码
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:河南新乡
等 级:贵宾
威 望:11
帖 子:742
专家分:2989
注 册:2009-10-12
得分:10 
你写的是这个
c=(++a)*b+(++a); 这个是30
 c=(++a)*b*(++a);

先让a的值加1,a连加两次变为5,c=5*5*5;

[ 本帖最后由 玩出来的代码 于 2009-10-29 21:50 编辑 ]

离恨恰如春草,更行更远还生。
2009-10-29 21:49
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
得分:5 
不可能 125 。



—>〉Sun〈<—
2009-10-29 21:50
miao_100200
Rank: 2
来 自:广东-广州
等 级:论坛游民
帖 子:45
专家分:30
注 册:2009-10-26
得分:0 
回复 3楼 玩出来的代码
还是不明白为什么事c=5*5*5而不是c=5*5+5

C菜鸟,在努力之中
2009-10-29 21:50
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
得分:2 
我算出来的也是30
我觉得是5*5+5

[ 本帖最后由 m456m654 于 2009-10-29 21:52 编辑 ]
2009-10-29 21:51
Kid_X
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:216
专家分:515
注 册:2007-10-8
得分:0 
这个是和编译器有关的。不同的编译器结果可能不同。这与语法分析、编译原理有关。
2009-10-29 21:52
miao_100200
Rank: 2
来 自:广东-广州
等 级:论坛游民
帖 子:45
专家分:30
注 册:2009-10-26
得分:0 
郁闷!!用VC 6.0算出来的是25,而你们说是30.
 头都晕啦!

C菜鸟,在努力之中
2009-10-29 21:55
hackerStar
Rank: 2
来 自:厦门
等 级:禁止访问
帖 子:66
专家分:71
注 册:2009-10-29
得分:1 
根据运算符的优先级嘛,答案是25,c=(++a)*b+(++a);前一个++a=4,后一个是5,你是不是看错了,把中间的+看成了*,所以答案是125

-------------->>>>>信仰火之意识,崇拜黑客精神<<<<<--------------------
2009-10-29 21:57
Kid_X
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:216
专家分:515
注 册:2007-10-8
得分:2 
我gcc测试的结果也是25
2009-10-29 21:57



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-290420-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.119952 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved