小白求问简单问题,大変ですね
#include<stdio.h>
#include<iostream>
using namespace std;
void exchange(int* a,int* b)
{
int temp =*b;
*b=*a;
*a=temp;
}
int multi(int n)
{
int num;
if(n==1)
{
return 1;
}
num=n*multi(n-1);
printf("打印出来为%d\n",num);
}
int main(int argc,char**argv)
{
int a=9;
int b=99;
exchange(&a,&b);
printf("a:%d,b:%d\n",a,b);
multi(5);
return 0;
}这样运行为
a:99,b:9
打印出来为2
打印出来为36
打印出来为52
打印出来为65
而这样
#include<stdio.h>
#include<iostream>
using namespace std;
void exchange(int* a,int* b)
{
int temp =*b;
*b=*a;
*a=temp;
}
int multi(int n)
{
int num;
if(n==1)
{
return 1;
}
num=n*multi(n-1);
}
int main(int argc,char**argv)
{
int a=9;
int b=99;
exchange(&a,&b);
printf("a:%d,b:%d",a,b);
cout<<endl<<multi(5);
return 0;
}运行为
a:99,b:9
120
这是为什么呢?😭