#include <stdio.h>
void testFunction(int *a){
printf("In a should be 5: %d", *a);
*a = 0;
printf("In a should be 0: %d", *a);
test2Function(&a);
}
void test2Function(int *a){
printf("In F2 a should be 0: %d", *a);
*a = 2;
printf("In F2 a should be 2: %d", *a);
}
int main(){
int a = 5;
testFunction(&a);
printf("In main() a should be 2: %d", a);
return 0;
}
如何将指针从给定的指针发送到一个函数内的另一个函数? 这样上面代码中的语句都是正确的
当前输出为:
In a should be 5: 5
In a should be 0: 0
In F2 a should be 0: 6422316
In F2 a should be 2: 2
In main() a should be 2: 0
答案 0 :(得分:7)
代替:
test2Function(&a);
要做:
test2Function(a);
因为您只想复制已有的指针,而不要获取指针本身的地址。