本文目录一览:
- 1、c语言,指针,角色互换 求解
- 2、C语言ab互换
- 3、C语言之 两个值的互换
c语言,指针,角色互换 求解
第一个传的是值换的是函数里的新的xy,第二个传的是地址,地址指向xy,因此做交换后,里面内容就换了呗,没有生成新的xy
C语言ab互换
第一个传递的是值,就是说将实参的值赋值给形参了,就相当于int a,b; a=b; a的值改变了,并不影响b的值。
第二个传递的是地址,数组名表示的就是数组的首地址,所以形参 char a[] 其实就是 char *a;
将实参的地址赋值给 a了,所以形参改变了,实参也改变了。
这就相当于 int a;int *p =a; 如果 *p发生了变化,a的值也跟着发生变化。
C语言之 两个值的互换
这跟等不等没有关系
c语言中
=
的意思是把右边的书的值给左边的数
执行c=a;a=b;b=c
就是把a
的值给c
c的值就没有了
变成a
的值了,
其余的也是这样,
就像两杯水
要让他们换过来,
就要把其中的一杯倒到另一只空杯子里
把另一杯倒到刚空出来的杯子里
然后再把第三只杯子里的水倒到第一只杯子里的道理是一样的