fun(6)的时候调用fun(3),执行fun(3)时调用fun(1),这没有错。
网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、小程序定制开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了东乡族免费建站欢迎大家使用!
fun(6)的时候调用fun(3),
执行fun(3)时调用fun(1)
执行fun(1)时打印“1”
继续执行fun(3)的后续:打印“3”
继续执行fun(6)的后续:打印“6”
所以就是1
3
6
如果改写fun函数为
fun(int
x)
{
printf("%d
",x);
if(x/20)
fun(x/2);
}
那么结果就是6
3
1了
#include stdio.h
#include stdlib.h
#define N 15
void fun(int *a,int n,int p)
{
int *aa,i;
aa=(int *)malloc(sizeof(int)*n);
for(i=0;in;i++)
aa[i]=a[(i+p)%n];
for(i=0;in;i++)
a[i]=aa[i];
free(aa);
}
int main(){
int a[N]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
int i;
for(i=0;iN;i++)
printf("%4d",a[i]);
printf("\n");
fun(a,N,6);
for(i=0;iN;i++)
printf("%4d",a[i]);
printf("\n");
}
1、首先,我们要调用函数的库文件。
2、然后我们输入Printf函数构成语句。
3、接下来我们知道这个函数是返回双精度类型,【lf】。
4、然后我们输入一个测试的数值。
5、然后就可以开始运行测试。
6、这时候就可以看到结果。