c语言 指针作为函数参数传递时属于值传递还是地址传递#include void swap(int x,int y){\x05int z;\x05z=x;\x05x=y;\x05y=z;}void swap1(int *x,int *y){\x05int z;\x05z=*x;\x05*x=*y;\x05*y=z;}void swap2(int *x,int *y){\x05int z;\x05z=x;

来源:学生作业帮助网 编辑:作业帮 时间:2024/08/06 03:36:40
c语言 指针作为函数参数传递时属于值传递还是地址传递#include void swap(int x,int y){\x05int z;\x05z=x;\x05x=y;\x05y=z;}void swap1(int *x,int *y){\x05int z;\x05z=*x;\x05*x=*y;\x05*y=z;}void swap2(int *x,int *y){\x05int z;\x05z=x;
xTJ@PiIU#nRКL+`#EQKEVşIӕ<$ Lr3(fz֯?5[RN5[Np}ճ ~Dly?6م5}NX_2taeC3E#*X5>E_ 2}+{Zj=jA. F ! 8|%`Jf9376~T/: ů^ܿcοA~;ĢfdŨ"U`F0!q̨SjB95/e7IN"L&%e!HрL͋z bŠ]%Dvr'zѫLY {%5<)Z;tןaG+" 5ok]vF( ~AfSfZ zl"^ܹ q_ԊeԳO$3o

c语言 指针作为函数参数传递时属于值传递还是地址传递#include void swap(int x,int y){\x05int z;\x05z=x;\x05x=y;\x05y=z;}void swap1(int *x,int *y){\x05int z;\x05z=*x;\x05*x=*y;\x05*y=z;}void swap2(int *x,int *y){\x05int z;\x05z=x;
c语言 指针作为函数参数传递时属于值传递还是地址传递
#include
void swap(int x,int y)
{
\x05int z;
\x05z=x;
\x05x=y;
\x05y=z;
}
void swap1(int *x,int *y)
{
\x05int z;
\x05z=*x;
\x05*x=*y;
\x05*y=z;
}
void swap2(int *x,int *y)
{
\x05int z;
\x05z=x;
\x05x=y;
\x05y=z;
}
void swap3(int *x,int *y)
{
\x05int *z;
\x05z=*x;
\x05*x=*y;
\x05*y=z;
}
main()
{
int a,b;
int *p,*q;
a=3,b=5;
p=&a,q=&b;
swap(a,b);
swap1(&a,&b);
swap2(p,q);
swap3(p,q);
printf("%d,%d",a,b);
}
swap和swap1分别是值传递和地址传递,swap2和swap3属于什么传递?
z=*x;*x=*y;*y=z;
这里不是传值了吗?
还是说,看是什么传递只看这两行:
调用:swap(&a,&b);
定义:swap(int *x,int *y)

c语言 指针作为函数参数传递时属于值传递还是地址传递#include void swap(int x,int y){\x05int z;\x05z=x;\x05x=y;\x05y=z;}void swap1(int *x,int *y){\x05int z;\x05z=*x;\x05*x=*y;\x05*y=z;}void swap2(int *x,int *y){\x05int z;\x05z=x;
传地址
看形参是不是指针