网站建设策划书范本,wordpress表单附件上传图片,取个网络公司名字,房产网南京C自定义swap函数实现交换两个变量的值兼谈参数传递
在C中#xff0c;交换两个变量的值可以通过多种方法实现。常见的是使用临时变量#xff0c;源码如下#xff1a;
在上面的代码中#xff0c;我们首先定义了两个变量a和b#xff0c;并使用cout语句输出了它们的初始值。…C自定义swap函数实现交换两个变量的值兼谈参数传递
在C中交换两个变量的值可以通过多种方法实现。常见的是使用临时变量源码如下
在上面的代码中我们首先定义了两个变量a和b并使用cout语句输出了它们的初始值。然后我们使用一个临时变量temp来存储a的值将b的值赋给a再将temp的值赋给b这样就完成了a和b的交换。
#include iostream
using namespace std;int main() {
int a 10, b 20;
cout 交换前: a a , b b endl;// 交换a和b的值int temp a;a b;b temp;cout 交换后: a a , b b endl;return 0;
}下面我们还是使用临时变量这种算法但采用自定义函数swap实现。
请注意如下的代码不能交换两个变量的值
#include iostream
using namespace std;//自定义交换函数swap
void swap(int a, int b) {int temp a;a b;b temp;
}int main() {int a 10, b 20; cout 交换前: a a , b b endl;//调用 交换函数swapswap(a, b); cout 交换后: a a , b b endl;return 0;
}这个程序不能交换两个变量的值这是因为在C中变量在传递到函数时默认是按值传递的。这意味着函数内部操作的只是参数的副本而不是原始变量。因此当你在swap函数内部交换两个变量时只是交换了这两个变量的副本而原始的a和b并没有改变。 如果你想要函数交换两个变量的值你需要使用引用参数或指针变量参数。
先看使用引用参数来自定义交换函数swap源码如下
#include iostream
using namespace std;//自定义交换函数swap 使用引用参数来传递变量的地址
void swap(int a, int b) { int temp a; a b; b temp;
}int main() {int a 10, b 20; cout 交换前: a a , b b endl;//调用 交换函数swapswap(a, b); cout 交换后: a a , b b endl;return 0;
}再看使用指针参数来自定义交换函数swap源码如下
#include iostream
using namespace std;//自定义交换函数swap 使用指针作参数来传递变量的地址
void swap(int *a, int *b) {int temp *a;*a *b;*b temp;
}int main() {int a 10, b 20; cout 交换前: a a , b b endl;//调用 交换函数swapswap(a, b); //当使用指针作为参数时需要使用取地址运算符 获取变量的地址。cout 交换后: a a , b b endl;return 0;
}关于C参数传递更多情况可见https://blog.csdn.net/cnds123/article/details/119272530