C语言用指针法交换两个数的顺序问题交换两个数的顺序,可以交换地址,可以交换值.当用函数调用法交换地址的时候,为什么不可以实现.程序如下:#include//这是用一个主函数就交换的方法.main(
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/27 15:46:25
![C语言用指针法交换两个数的顺序问题交换两个数的顺序,可以交换地址,可以交换值.当用函数调用法交换地址的时候,为什么不可以实现.程序如下:#include//这是用一个主函数就交换的方法.main(](/uploads/image/z/7803524-20-4.jpg?t=C%E8%AF%AD%E8%A8%80%E7%94%A8%E6%8C%87%E9%92%88%E6%B3%95%E4%BA%A4%E6%8D%A2%E4%B8%A4%E4%B8%AA%E6%95%B0%E7%9A%84%E9%A1%BA%E5%BA%8F%E9%97%AE%E9%A2%98%E4%BA%A4%E6%8D%A2%E4%B8%A4%E4%B8%AA%E6%95%B0%E7%9A%84%E9%A1%BA%E5%BA%8F%2C%E5%8F%AF%E4%BB%A5%E4%BA%A4%E6%8D%A2%E5%9C%B0%E5%9D%80%2C%E5%8F%AF%E4%BB%A5%E4%BA%A4%E6%8D%A2%E5%80%BC.%E5%BD%93%E7%94%A8%E5%87%BD%E6%95%B0%E8%B0%83%E7%94%A8%E6%B3%95%E4%BA%A4%E6%8D%A2%E5%9C%B0%E5%9D%80%E7%9A%84%E6%97%B6%E5%80%99%2C%E4%B8%BA%E4%BB%80%E4%B9%88%E4%B8%8D%E5%8F%AF%E4%BB%A5%E5%AE%9E%E7%8E%B0.%E7%A8%8B%E5%BA%8F%E5%A6%82%E4%B8%8B%EF%BC%9A%23include%2F%2F%E8%BF%99%E6%98%AF%E7%94%A8%E4%B8%80%E4%B8%AA%E4%B8%BB%E5%87%BD%E6%95%B0%E5%B0%B1%E4%BA%A4%E6%8D%A2%E7%9A%84%E6%96%B9%E6%B3%95.main%28)
C语言用指针法交换两个数的顺序问题交换两个数的顺序,可以交换地址,可以交换值.当用函数调用法交换地址的时候,为什么不可以实现.程序如下:#include//这是用一个主函数就交换的方法.main(
C语言用指针法交换两个数的顺序问题
交换两个数的顺序,可以交换地址,可以交换值.当用函数调用法交换地址的时候,为什么不可以实现.程序如下:
#include//这是用一个主函数就交换的方法.
main()
{
int a,b,*x,*y,*t;
scanf("%d %d",&a,&b);
x=&a;y=&b;
{t=x;x=y;y=t;}
printf("%d %d\n",*x,*y);
}
#include//这是用函数调用的方法,为什么这个方法为什么就不能实现.
main()
{
int swap(int *a,int *b);
int a,b,*x,*y;
scanf("%d %d",&a,&b);
x=&a;y=&b;
swap(x,y);
printf("%d %d\n",*x,*y);
}
int swap(int *a,int *b)
{
int *t;
{t=a;a=b;b=t;}
}
C语言用指针法交换两个数的顺序问题交换两个数的顺序,可以交换地址,可以交换值.当用函数调用法交换地址的时候,为什么不可以实现.程序如下:#include//这是用一个主函数就交换的方法.main(
int swap(int *a,int *b)//a与b分别复制主函数x与y的值,即a与x的指向相同,b与y的指向相同
{
\x09int *t;
\x09{t=a;a=b;b=t;}//通过交换,a和y的指向相同,b与x的指向相同,但是,x与y没有改变原来指向,这样函数swap结束,a与b消失,输出结果不变
}
换成
int t;
{t=*a;*a=*b;*b=t;}//将改变x和y指向的地址的值,达到交换目的