使用函数实现两个数的交换。

#include <stdio.h>
void swap(int *a,int *b)
{
	int tmp;
	tmp=*a;
	*a=*b;
	*b=tmp;
}
int main()
{
	int a=20;
	int b=10;
	swap(&a,&b);
	printf("a=%d b=%d",a,b);
	return 0;
}
时间: 2024-08-24 04:24:06

使用函数实现两个数的交换。的相关文章

【面试题】C语言:使用函数实现两个数的交换

#include<stdio.h> int swap(int *i,int *j) {  int tmp;  tmp=*i;  *i=*j;  *j=tmp; } int main() {  int i=0;  int j=0;  scanf("%d",&i);  scanf("%d",&j);  swap(&i,&j);  printf("%d  ",i);  printf("%d"

利用函数调用实现两个数的交换

#include <stdio.h> #include<stdlib.h> void swap(int *pa, int *pb) { int tmp = *pa; *pa = *pb; *pb= tmp; } int main() { int n1 = 0; int n2 = 0; char *p1 = &n1; char *p2 = &n2; printf("请输入两个数:"); scanf_s("%d%d", &

两个数的交换

方法一:使用函数实现两个数的交换 #include<stdio.h> int fun(int *a,int *b) { int tmp; tmp=*a; *a=*b; *b=tmp; } int main() { int x,y; printf("please input two number:\n"); scanf("%d %d",&x,&y); printf("x=%d,y=%d\n",x,y); fun(&

如何不运用第三方变量实现两个数的交换

当遇到交换两个变量的时候,我们通常使用的是借助第三方变量实现两个数的交换.那么如果不使用第三方变量时,该怎么操作呢. 下面有两种方法: 1.通过已有的两个变量之间的加或减实现: 这种方法对于两个都是无限接进int取值范围,而相加超出int取值范围的情况不适用. 2.通过异或实现(异或符号为^) ******************************************************************************************************

如何不用第三个变量实现两个数的交换

一般我们在写程序时如果遇到两个数需要交换时写作如下: 1 int x,y; 2 3 int temp; 4 5 temp=x;x=y;y=temp; 而如果不允许有第三个变量出现即不允许有temp出现时应该如何做呢?可以写作如下: 1 int x,y; 2 3 x=x+y; 4 5 y=x-y; 6 7 x=x-y;//上述一般可以满足,但是有时候x+y或许或出现上溢或者下溢. 而利用两个数的异或或许更加巧妙—— 异或有如下性质: 交换律:x^y=y^x 结合律:x^(y^z)=(x^y)^z

使用函数输出两个数的最大值

使用函数输出两个数中的最大值: 其中:第一行输入一个整数n,代表有n组测试数据: 后面输出的是两个值中较大的一个,每组测试数据占一行. 1 #include<stdio.h> 2 int max(int x,int y); 3 int main(void) 4 { 5 int a,b,c; 6 int n,i; 7 scanf("%d",&n); 8 for(i=0;i<n;i++){ 9 scanf("%d%d",&a,&

使用异或实现两个数的交换

实例:将数组的头尾两端依次对调(采用异或的方法实现两数的交换,不需要临时变量) #include <iostream> #define N 10 void swap(int *a, int *b) //交换a,b { *a = *a ^ *b; *b = *a ^ *b; *a = *a ^ *b; } void reverse_arry(int a[], int arry_len) //将数组的头尾两端互换 { int i = 0, j = arry_len-1; while(i <

如何在不介入第三个变量的情况下实现两个数的交换

如何在不介入第三个变量的情况下实现两个数的交换: 1 package myeclipseFiles2; 2 3 public class Operator { 4 5 public static void main(String[] args) { 6 // TODO Auto-generated method stub 7 int a=6; 8 int b=1; 9 System.out.println(a+":"+b); 10 11 //方法一:不借助第三个变量完成两个数的交换 1

三种传值方式遇上两个数的交换

最近在学习数据结构的时候发现以前学的C++的有些东西都忘了,特别是老师提到的三种传值的方式——单向值传递,地址传递,双向引用传递:为此,我这里用如何交换两个数的例子来说明一下三种传值方式的机制. 先看看源代码: 1 #include<iostream> 2 using namespace std; 3 int swap1(int m1,int m2)//单向值传递 4 { 5 int temp = m1; 6 m1 = m2; 7 m2 = temp; 8 cout<<m1<