| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 319 人关注过本帖
标题:求助,学习c的高手
只看楼主 加入收藏
温亚东
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2010-12-7
结帖率:0
收藏
已结贴  问题点数:20 回复次数:2 
求助,学习c的高手
  #include<stdio.h>
    int func(int a,int *p);
    viod main()
{
    int a=1,b=2,c;
    c=func(a,&b);
    b=func(c,&a);
    a=func(b,&c);
   printf("a=%d,b=%d,c=%d",a,b,c);
}
  int func(int a,int *p)
    {
        a++;*p=a+2;
        return(*p+a);
没读懂。请问谁能帮我解释一下
搜索更多相关主题的帖子: 学习 
2010-12-07 07:49
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:10 
func内不改变a的值,但会改变b的值

★★★★★为人民服务★★★★★
2010-12-07 08:27
venus85
Rank: 6Rank: 6
等 级:侠之大者
帖 子:159
专家分:477
注 册:2010-11-27
收藏
得分:10 
程序代码:
#include<stdio.h>
int func(int a,int *p);/*调用func函数时传递的实参前一个为值,后一个为地址*/
viod main()
{
    int a=1,b=2,c;
    c=func(a,&b);  /*传a的值,即2,传b的地址,此时func中的操作会改变变量b的值
,但不会改变变量a的值*/
    b=func(c,&a);   /*调用func,c的值不会变,a的值会改变*/
    a=func(b,&c);   /*调用func,b的值不会变,c的值会改变*/
   printf("a=%d,b=%d,c=%d",a,b,c);
}
  int func(int a,int *p)
    {
        a++;*p=a+2;
        return(*p+a);
分清传参数时传的是值还是地址,传值的话,调用函数前后实参的值不变,传地址的话,实参值会改变
2010-12-07 09:35
快速回复:求助,学习c的高手
数据加载中...
 
   



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

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