本文介绍了C语言中通过代码交换两个值的功能,并通过实例代码进行了详细说明,具有一定的参考价值。来看看对C语言两值交换知识感兴趣的朋友吧。
C语言中实现两个值交换的函数。
1、
#包含stdio.h
void swap(int n1,int n2)
{
int tmp
tmp=n1
n1=n2
n2=tmp
}
int main(void)
{
int a,b;
puts('请输入两个整数。');
printf(' a=');scanf('%d ',a);
printf(' b=');scanf('%d ',b);
互换(a,b);//a和B作为参数传递给n1和n2,n1和n2可以互换,但是值传递是单向的,n1和n2的值不能返回给参数A和B,所以A和B还是原来的值。
printf('swapped a=%d\n ',a);
printf('swapped b=%d\n ',b);
返回0;
}
2.通过将指针作为参数,可以修改指针所指向的对象,即参数。
#包含stdio.h
void swap2(int *n1,int *n2)
{
int tmp
tmp=* n1
* n1=* n2
* n2=tmp
}
int main(void)
{
int a,b;
puts('请输入两个整数。');
printf(' a=');scanf('%d ',a);
printf(' b=');scanf('%d ',b);
swap2(a,b);//将A和B的指针作为参数传递给指针变量n1和n2。n1和n2称为指向A和B的指针,*n1和*n2分别是A和B的别名。修改*n1和n2相当于修改A和b。
printf('\nswapped a=%d\n ',a);
printf('swapped b=%d\n ',b);
返回0;
}
Ps:我们来看C语言实现两数交换功能。
我们可以引入一个简单的中间变量T来交换两个值。
int t;
t=x;
x=y;
y=t;
但是调用swap(int x,int y)时,参数被初始化,函数不访问调用传递的参数,所以不会修改参数的值。
然后是以下功能
void swap(int x,int y)
{
int t;
t=x;
x=y;
y=t;
}
不会达到交换的目的。
在C中,我们可以使用引用参数来达到目的:
void swap(int x,int y)
{
int t;
t=x;
x=y;
y=t;
}
那么在C语言中如何实现交换函数呢?
通过指针值交换实现。
# includestdio.h
void swap(int *x,int *y)
{
int t;
t=* x;
* x=* y;
* y=t;
}
int main()
{
int a=1,b=2;
互换(a,b);
printf('a=%d,b=%d ',a,b);
返回0;
}
关于C语言中交换两个值的函数的这篇文章到此为止。有关C语言中交换两个值的函数的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望大家以后能多多支持我们!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。