ndxg.net
当前位置:首页 >> C语言交换AB的值函数 >>

C语言交换AB的值函数

第一个传递的是值,就是说将实参的值赋值给形参了,就相当于int a,b; a=b; a的值改变了,并不影响b的值.第二个传递的是地址,数组名表示的就是数组的首地址,所以形参 char a[] 其实就是 char *a;将实参的地址赋值给 a了,所以形参改变了,实参也改变了.这就相当于 int a;int *p =&a; 如果 *p发生了变化,a的值也跟着发生变化.

#inlcude void main() { int a,b,tmp; printf("输入a,b的值:"); scanf("%d%d", &a, &b); tmp = a; a = b; b = tmp; printf("交换后a=%d, b=%d\n", a, b); }

#include void main() { int a,b; scanf("%d%d",&a,&b); /*a = a+b; b = a-b; a = a-b;*/ a = a^b; b = a^b; a = a^b; printf("%d,%d\n",a,b); }

void swap(int *a,int *b) { int t; t=*a;*a=*b;*b=t; } 例如要交换x,y的话,swap(&x,&y); 要用“&”取址.

#include <stdio.h> using namespace std; void swap(int &a , int &b){ int temp = a ; a = b ; b = temp ; } int main(){ int a = 1 , b = 2 ; printf("交换前分别为:%d %d\n" , a , b) ; swap(a , b) ; printf("交换后分别为:%d %d\n" , a , b) ; return 0 ; }

#include int a,b; void swap() { int t;//我们创建一个临时变量用来交换变量的值 //先假设a = 1,b = 2 t = a;//此时t = 1,a = 1,b = 2 a = b;//此时t = 1,a = 2,b = 2 b = t;//此时t = 1,a = 2,b = 1 //完成了交换 } int main(){ scanf("%d%d",&a,&b); swap();

简单.方法由很多种#include<stdio.h>void swapab(int &sa,int &sb){ int c; c=sa; sa=sb; sb=c;}void main(){ int a=3,b=4; swapab(a,b); printf("%d,%d\n",a,b);}输入结果为4,3.交换了a,b的值.

#include void main() { int a,b.sum; printf("please input a and b:"); scanf("%d%d",&a,&b); sum=a+b; printf("\n sum=%d",sum); }

因为swap函数的两个形参是指针类型啊,要求你传a和b的地址进去才行 如果你传a和b的值进去,它会把a和b的值当做地址往里面取值,这里面的值压根就是不是a和b的值,已经无法预测了,当然达不到交换a和b的值的作用

不能用第三变量说清楚啊 两种方法 1,用异或"^"解决; 2.直接重新赋值!哈哈!! #include<stdio.h> void main() { int a=2,b=4; a=4; b=2; printf("%d%d",&a,&b); } 采纳哦

网站首页 | 网站地图
All rights reserved Powered by www.ndxg.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com