c语言交换两变量的值
‘壹’ c语言 编一程序 交换两个变量的值(用指针做函数参数)
#include <stdio.h>
void Swap(int a,int b)
{
int tmp = a;
a = b;
b = tmp;
printf("a=%d,b=%d ",a,b);
}
int main()
{
int a = 5;
int b = 10;
printf("a=%d,b=%d ",a,b);
Swap(a,b);
printf("a=%d,b=%d ",a,b);
return 0;
}
(1)c语言交换两变量的值扩展阅读:
形参和实参的特点
1、形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只在函数内部有效。函数调用结束返回主调用函数后则不能再使用该形参变量。
2、实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须有确定的值,以便把这些值传送给形参。因此应预先用赋值,输入等办法使参数获得确定值。
3、实参和形参在数量上,类型上、顺序上应严格一致,否则就会发生类型不匹配的错误。
4、在一般传值调用的机制中只能把实参传送给形参,而不能把形参的值反向地传送给实参。因此在函数调用过程中,形参值发生改变,而实参中的值不会变化。而在引用调用的机制当中是将实参引用的地址传递给了形参,所以任何发生在形参上的改变实际上也发生在实参变量上。
网络-形参
‘贰’ C语言中如何交换两个指针变量的的值
1、首先,就是最基本的知识,写头文件、函数声明、定义变量。
‘叁’ C语言交换两个变量数值的几种方法
int 类型为例, 可以用两种
安全交换: 使用中间变量(无论直接用,还是用指针或者引用, 都一样)
inta=1,b=2;
intt;
t=a;
a=b;
b=t;
不安全交换: 不使用中间变量,可能会溢出
inta=1,b=2;
a=a+b;
b=a-b;
a=a-b;
‘肆’ 编写c语言程序,实现交换两个变量值的操作。
/*
编写c语言程序,实现交换两个变量值的操作。
要求:使用形参为指针的函数swap完成交换功能。
主函数中,使用整型指针从键盘输入两个整数,通过调用swap完成交换
输出交换前后的变量值进行比较。
输入输出示例:
Input two number:3 4
Before change:a=3,b=4
After change:a=4,b=3
*/
//File: swap.c
#include <stdio.h>
#include <stdlib.h>
void swap(int *a, int *b)
{
int tmp;
tmp=*a;
*a=*b;
*b=tmp;
}
int main()
{
int *a=NULL,*b=NULL;
a=(int *)calloc(1,sizeof(int));
if(!a)
{
perror("calloc a err.");
}
b=(int *)calloc(1,sizeof(int));
if(!b)
{
perror("calloc b err.");
}
printf("Input two number:");
scanf("%d %d",a,b);
printf("Before change:a=%d,b=%d\n",*a,*b);
swap(a,b);
printf("After change:a=%d,b=%d\n",*a,*b);
return 0;
}
C:\mypro>gcc -g -Wall swap.c -o swap
C:\mypro>swap
Input two number:3 4
Before change:a=3,b=4
After change:a=4,b=3
C:\mypro>
程序已调好,直接运行即可。
‘伍’ C语言交换变量值的几种方法
方法一:三变量交换。
#include<stdio.h>
intmain(void)
{
inta,b;
scanf("%d%d",&a,&b);
intt=a;a=b;b=t;
printf("%d%d ",a,b);
return0;
}
方法二:加减交换
#include<stdio.h>
intmain(void)
{
inta,b;
scanf("%d%d",&a,&b);
a=a+b;
b=a-b;
a=a-b;
printf("%d%d ",a,b);
return0;
}
方法三:异或交换
#include<stdio.h>
intmain(void)
{
inta,b;
scanf("%d%d",&a,&b);
a=a^b;b=b^a;a=a^b;//可写成a^=b^=a^=b;
printf("%d%d ",a,b);
return0;
}
方法四(黑盒测试下):不交换
#include<stdio.h>
intmain(void)
{
inta,b;
scanf("%d%d",&a,&b);
printf("%d%d ",b,a);
return0;
}
‘陆’ c语言交换两个变量的值是什么
c语言交换两个变量的值是我们学习C语言常见的问题。
交换两个变量的值 交换两个变量的值是我们学习C语言常见的问题,通常我们采取的方式是定义中间变量,通过中间变量交换这两个变量值,其中可以通过引用、地址传递完成变量值交换。
c语言定义
C语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括一些类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。
‘柒’ C语言中,怎样不用中间变量而互换两个变量的值呢
有两种方式可以不使用中间变量,交换同类型的变量a,b的值:
1 .使用加法操作
a+=b;
b=a-b;
a -= b;
2 .使用异或操作:
a^=b;
b^=a;
a^=b;
‘捌’ C语言题目:编写函数,交换两变量的值。
void
swap(int
*a,int*
b)
{
int
temp=0;
temp=*a;
*a=*b;
*b=temp;
}
因为是指针,只要更换指针内的内容就可以了;
还有一种是
换指针,就设a指向没存A,b指向内存B,交换后把b指向内存A,把a指向内存B
void
swap(int
*a,int*
b)
{
int
*temp;
temp=a;
a=b;
b=temp;
}
‘玖’ C语言编程:交换两个变量
#include <stdio.h>
int main()
{
int a,b,t;
scanf("%d,%d",&a,&b);
t=a;
a=b;
b=t;
printf("%d,%d",a,b);
return 0;
}
‘拾’ 交换两个变量值的方法(C语言)
当然有:
设Val1
Val2两变量
Val1
=
Val1
^
Val2;
Val2
=
Val1
^
Val2;
Val1
=
Val1
^
Val2;
这样就交换了;
MOV
EAX,
Val1;
XCHG
EAX,
Val2;
MOV
Val1,
EAX;
这样最快