| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 787 人关注过本帖
标题:新手-函数调用中(两个形参),实参给形参传递的顺序是什么
只看楼主 加入收藏
NET_雷
Rank: 1
等 级:新手上路
帖 子:14
专家分:5
注 册:2013-4-7
结帖率:0
收藏
 问题点数:0 回复次数:3 
新手-函数调用中(两个形参),实参给形参传递的顺序是什么
#include <stdio.h>
int func(int a,int b)
{
    printf("%d,%d\n",a,b);
    int c;
    c=a+b;
    return c;
}
int main(void)
{
    int x=6,r;
    r=func(x++,x++);//7,6 如此看:执行顺序为从右往左
    printf("%d\n",x);//8
    printf("%d\n\n",r);//13
    x = 6;
    r=func(x++,++x);//7,8 如此看,好像是从左往右,但是为什么第一个参数是7?
    printf("%d\n",x);//8
    printf("%d\n\n",r);//15
    x=6;
    r=func(++x,++x);//8,8 如此看,搞不懂。。。
    printf("%d\n",x);//8
    printf("%d\n\n",r);//16
    x=6;
    r=func(++x,x++);//8,6 如此看,执行顺序为从右往左。
    printf("%d\n",x);//8
    printf("%d\n\n",r);//14


}                    

ps.注释后面的是数字是输出。
ps..这几个递增的实参传给形参后变得好奇怪。
ps...怎么结帖?感谢!先去上自习了
求;

[ 本帖最后由 NET_雷 于 2013-4-18 22:44 编辑 ]
搜索更多相关主题的帖子: include return 
2013-04-18 18:34
NET_雷
Rank: 1
等 级:新手上路
帖 子:14
专家分:5
注 册:2013-4-7
收藏
得分:0 
回复 楼主 NET_雷
在百度上搜索有人说是未定义行为。嘛,未定义行为倒是能理解啦。不过这么简单么?我还以为是有什么规则呢。求解答
2013-04-18 18:39
czzdcn123
Rank: 7Rank: 7Rank: 7
来 自:江西
等 级:黑侠
威 望:3
帖 子:258
专家分:510
注 册:2013-3-7
收藏
得分:0 
路过 来学习
2013-04-18 19:03
ly371031846
Rank: 2
等 级:论坛游民
帖 子:40
专家分:79
注 册:2013-4-9
收藏
得分:0 
#include <stdio.h>
 int func(int a,int b)
 {
     printf("%d,%d\n",a,b);
     int c;
     c=a+b;
     return c;
 }
 int main(void)
 {
     int x=6,r;
     r=func(x++,x++);//6,6 如此看:执行顺序为从右往左
     printf("%d\n",x);//8
     printf("%d\n\n",r);//12
     x = 6;
     r=func(x++,++x);//7,7 执行顺序为从右往左
     printf("%d\n",x);//8
     printf("%d\n\n",r);//14
     x=6;
     r=func(++x,++x);//8,7 如此看,搞不懂。。。
     printf("%d\n",x);//8
     printf("%d\n\n",r);//15
     x=6;
     r=func(++x,x++);//7,6 如此看,执行顺序为从右往左。
     printf("%d\n",x);//8
     printf("%d\n\n",r);//13
 

}                    
 执行顺序为从右向左,i++与++i有区别楼主没有搞明白这个区别,i=6;i++以后i=6.++i以后i=7.
2013-04-19 09:12
快速回复:新手-函数调用中(两个形参),实参给形参传递的顺序是什么
数据加载中...
 
   



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

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