标题:函数调用的一个简单题,搞不太懂
只看楼主
砳砳
Rank: 1
等 级:新手上路
帖 子:9
专家分:5
注 册:2016-10-27
结帖率:100%
已结贴  问题点数:20 回复次数:2 
函数调用的一个简单题,搞不太懂
程序代码:
#include<stdio.h>
void main ()

{
    int *fun(int*p);
    int a[10]={0,1,2,3,4,5,6,7,8},*p;
    p=fun(a+1);
    p=fun(p+2);
    printf("%d",*p);
}


 int *fun(int *p)
{
   static int a=0;
   return p+a++;

}


这个程序从头到未都不懂啊!被调用的代码是什么意思都不懂。
2016-10-27 22:38
word123
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:13
帖 子:333
专家分:1622
注 册:2014-4-5
得分:20 
#include<stdio.h>
void main ()

{
    int *fun(int*p);
    int a[10]={0,1,2,3,4,5,6,7,8},*p;
    p=fun(a+1);   //(a+1)指向1   //返回p指向1
    p=fun(p+2);   //(p+2)指向3   //返回指针指向4
    printf("%d",*p);
}

 int *fun(int *p)
{
   static int a=0;                 //a是静态变量,第一次a已经定义,第二次就不定义了a=1
   return p+a++; //返回p+0,a=1     //P+1

}
2016-10-27 23:17
砳砳
Rank: 1
等 级:新手上路
帖 子:9
专家分:5
注 册:2016-10-27
得分:0 
回复 2楼 word123
谢谢你,研究了半天, 现在懂点了 ,刚学  这些东西看的太少!慢慢熟练了!
2016-10-27 23:30



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




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

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