编程 C语言,交换两个变量的值,要求:运行如下:结果变量交换前a=2,b=3 变量交换后b=3,a=2
不使用第三个变量的算术运算交换方法:
int a=2, b=3;
a=b-a; b=b-a; a=b+a;
不使用第三个变量的 位运算交换法:
int a=2, b=3;
a=a^b; b=a^b; a=a^b;
使用第三个变量的算术运算交换方法:
int a=2, b=3, c;
c = a; a=b; b=c;
int a=2, b=3;
a=b-a; b=b-a; a=b+a;
不使用第三个变量的 位运算交换法:
int a=2, b=3;
a=a^b; b=a^b; a=a^b;
使用第三个变量的算术运算交换方法:
int a=2, b=3, c;
c = a; a=b; b=c;
温馨提示:答案为网友推荐,仅供参考
第1个回答 推荐于2018-04-19
c=a; #用c保存a的值
a=b; #把b的值赋给a,a原来的值被覆盖,但可以在c中找到
b=c;#把c中保存的a值赋给b本回答被网友采纳
a=b; #把b的值赋给a,a原来的值被覆盖,但可以在c中找到
b=c;#把c中保存的a值赋给b本回答被网友采纳
第2个回答 2016-09-07
void swap(int *x, int *y)
{
int tmp = *y;
*y = *x;
*x = tmp'
}
{
int tmp = *y;
*y = *x;
*x = tmp'
}