我在C中有2个版本的代码.
版本1:
#include <unistd.h>
#include <stdio.h>
int globalA = 10000;
int globalB = 0;
int recursion(int *a, int *b)
{
*a = *a - 1;
*b += *a;
if (*a < 1) {
sleep(30);
return *b;
} else {
return recursion(a, b);
}
}
int main()
{
printf("globalA: %i\n", globalA);
printf("globalB: %i\n", globalB);
recursion(&globalA, &globalB);
printf("globalA: %i\n", globalA);
printf("globalB: %i\n", globalB);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
和版本2 - 相同的代码,但没有指针:
#include <unistd.h>
#include <stdio.h>
int globalA = 10000;
int globalB = 0;
int …Run Code Online (Sandbox Code Playgroud)