| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 609 人关注过本帖
标题:问个优先级的问题
取消只看楼主 加入收藏
夕野先生
Rank: 1
来 自:北京
等 级:新手上路
帖 子:24
专家分:8
注 册:2008-12-1
结帖率:100%
收藏
已结贴  问题点数:3 回复次数:3 
问个优先级的问题
    int a[10];
    int i,*p=a;

    for(i=0;i<10;i++)
        cin>>*(p+i);

    for(p=a;p<(a+10);)
        cout<<*p++<<' ';
红色部分:*于++是同一优先级,应该遵循从右至左的规律,所以应该是先算p++,然后再算*p++的值才对啊?
但是为什么输出以后是按着先*p后p++来计算???

令外,看谭老师的书,里面提到,调用fun(i,++i)函数,许多C++系统(如GCC)是按从右至左的顺序求值,那如果i初值等于3的话,应该是fun(4,4)啊?但是书上写的是fun(3,3)

求解谢谢!:)

[ 本帖最后由 夕野先生 于 2010-6-7 16:50 编辑 ]
搜索更多相关主题的帖子: 优先级 
2010-06-07 16:27
夕野先生
Rank: 1
来 自:北京
等 级:新手上路
帖 子:24
专家分:8
注 册:2008-12-1
收藏
得分:0 
没人吗???
2010-06-07 17:21
夕野先生
Rank: 1
来 自:北京
等 级:新手上路
帖 子:24
专家分:8
注 册:2008-12-1
收藏
得分:0 
呵呵谢谢版主,p++的问题我想明白了,但是第二个问题呢?是不是应该就是fun(4,4)?

也谢谢3楼的哥们啊~但我没太看懂。。。我是新手呵呵~~不好意思啊!
2010-06-08 13:05
夕野先生
Rank: 1
来 自:北京
等 级:新手上路
帖 子:24
专家分:8
注 册:2008-12-1
收藏
得分:0 
回复 7楼 南国利剑
嗯是的,我也觉得这种方式不是很好~但就是想理解。这么说是谭老师的书写错了~
你刚才说的那个问题我觉得应该是:fun(4,3)(前提:从右至左)
因为第一个右边的i++先返回值再递增,所以是3.而第二个(左边的i++),因为此时已经是i本身已经是4,所以先返回值再递增,应该还是4.
对吗?
2010-06-08 13:49
快速回复:问个优先级的问题
数据加载中...
 
   



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

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