如何将C语言中实现数值交换的函数改写为一个包含长尾词的?
- 内容介绍
- 文章标签
- 相关推荐
本文共计465个文字,预计阅读时间需要2分钟。
实现交换a和b的值:直接法
直接交换法步骤:
1.使用一个临时变量t,先存储a的值。
2.将b的值赋给a。
3.将临时变量t的值赋给b。
代码示例(Python):
pythona=5b=10t=aa=bb=t实现交换a,b的数值:
直接法:
#include<stdio.h>
int main()
{
int a=10,b=20,temp=0;
printf("a=%d b=%d\n",a,b);
temp=a;
a=b;
b=temp;
printf("a=%d b=%d\n",a,b);
}
输出为:20 10
函数法:
#include<stdio.h>
int main()
{
int a=10;
int b=20;
//交换函数 swap()
Swap(a,b);
printf("a=%d b=%d\n",a,b);
return 0;
}
void Swap(int x,int y)// 传值
{
int temp=0;
temp=x;
x=y;
y=temp;
}
函数运行结果: a=10,b=20;
==并没有实现a,b数值的转换== ==跟主函数中的a ,b没有直接的关联,不可以改变值。== ==当实参传给形参的时候== ==形参其实是实参的一份临时拷贝== ==对形参的修改是不会改变实参的==
#include<stdio.h> int main() { int a=10; int b=20; //交换函数 swap() Swap1(&a,&b); printf("a=%d b=%d\n",a,b); return 0; } int Swap1(int* x,int* y)// 传址 { int tmp=0; tmp=*x; *x=*y; *y=tmp; }
输出为:a=20,b=10
函数的调用 一、传值调用:==函数的形参和实参分别占有不同内存块,对形参的修改不会改变实参。== 二、传址调用:==把函数外部创建变量的内存地址传递给函数参数的一种调用函数的方式 这种传参的方式可以直接让函数与函数外部的变量建立起真正的联系,== ==也就是函数內部可以直接操作函数外部的变量。==
本文共计465个文字,预计阅读时间需要2分钟。
实现交换a和b的值:直接法
直接交换法步骤:
1.使用一个临时变量t,先存储a的值。
2.将b的值赋给a。
3.将临时变量t的值赋给b。
代码示例(Python):
pythona=5b=10t=aa=bb=t实现交换a,b的数值:
直接法:
#include<stdio.h>
int main()
{
int a=10,b=20,temp=0;
printf("a=%d b=%d\n",a,b);
temp=a;
a=b;
b=temp;
printf("a=%d b=%d\n",a,b);
}
输出为:20 10
函数法:
#include<stdio.h>
int main()
{
int a=10;
int b=20;
//交换函数 swap()
Swap(a,b);
printf("a=%d b=%d\n",a,b);
return 0;
}
void Swap(int x,int y)// 传值
{
int temp=0;
temp=x;
x=y;
y=temp;
}
函数运行结果: a=10,b=20;
==并没有实现a,b数值的转换== ==跟主函数中的a ,b没有直接的关联,不可以改变值。== ==当实参传给形参的时候== ==形参其实是实参的一份临时拷贝== ==对形参的修改是不会改变实参的==
#include<stdio.h> int main() { int a=10; int b=20; //交换函数 swap() Swap1(&a,&b); printf("a=%d b=%d\n",a,b); return 0; } int Swap1(int* x,int* y)// 传址 { int tmp=0; tmp=*x; *x=*y; *y=tmp; }
输出为:a=20,b=10
函数的调用 一、传值调用:==函数的形参和实参分别占有不同内存块,对形参的修改不会改变实参。== 二、传址调用:==把函数外部创建变量的内存地址传递给函数参数的一种调用函数的方式 这种传参的方式可以直接让函数与函数外部的变量建立起真正的联系,== ==也就是函数內部可以直接操作函数外部的变量。==

