大神求助
输出不应该全是846dd754吗?一个是i 的地址
一个是k 的地址能一样??? 1 3 一样没问题。其它的一不一样我不关心。
如果你觉得全部都应一样,那你没有认真学,单不说代码中没有全用 i 来迷惑你,光凭 i,k也能看出不一样。
总结 i 是mian的局部变量
k是test的局部变量
代码中传的是值,不是址 i和k分别是main和test的局部变量。二者是独立的,分别占不同的空间。
你的test函数是值传递,仅仅是k的值和i的值相同而已。
若你想让地址也一样,需要址传递
#include <stdio.h>
void test(int *k){
printf("&k=%p\n",k);
}
int main()
{
int i=2;
printf("&i=%p\n",&i);
test(&i);
printf("&i=%p\n",&i);
test(&i);
}
页:
[1]