#include <stdio.h>
void sp(int* a) {
int b = 2;
*a = *a * 2;
printf("%d, ", *a);
a = &b;
*a = *a * 2;
printf("%d, ", *a);
}
int main() {
int k = 3;
sp(&k);
printf("%d\n", k);
}
代码运行结果为6,4,6
但是在sp函数最后为a所赋值为4,但结果却是6
是否是因为b是函数内的变量,在出来函数后,撤销a的值,返回上一个值