温馨提示:答案为网友推荐,仅供参考
当前网址:https://verywind.cn/ee/vxe33e7vv.html
第1个回答  2017-08-19
#include<stdio.h>
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();
printf("a = %d , b = %d\n",a,b);
return 0;
}

这是最基础的交换代码,创建一个临时变量来交换

事实上,还有一种交换方法:

#include<stdio.h>
int a,b;
void swap()
{
        //假设 a = 1,b = 2
a = a + b;//此时 a = 3,b = 2
b = a - b;//此时 a = 3,b = 1
a = a - b;//此时 a = 2,b = 1
//交换完成
}
int main(){
scanf("%d%d",&a,&b);
swap();
printf("a = %d , b = %d\n",a,b);
return 0;
}

先给a赋值成a+b

之后把b变成"a"-b也就是a+b-b=a

最后把a变成"a"-"b"也就是a+b-a=b

实现了交换

以上就是如何交换变量的方法

若我的回答对你有帮助,请采纳,若有问题可以追问我

第2个回答  推荐于2019-09-19

老规矩,先给代码

#include<>

int main(){ int a,b,t;  scanf("%d%d",&a,&b);  printf("a=%d,b=%d\n",a,b);  t=a;  a=b;  b=t;  printf("a=%d,b=%d\n",a,b);}

这道题关键是利用第三者作为介质进行数据交换

本回答被网友采纳
第3个回答  推荐于2018-03-04

介绍两种常用的值互换方法

// 方法1 使用临时变量的方法
void swap(int *a, int *b){
    int t = *a;    // 将a指向的值存入 t
    *a = *b;    // 将b指向的值存入 a
    *b = t;    // 将a原本的值存入 b
}

// 方法2 不使用临时变量的方法
void swap(int *a, int *b){
    *a = *a ^ *b ; // 将二者的异或值存入a指向的值
    *b = *a ^ *b ; // b = a^b^b 即 b = a
    *a = *a ^ *b ; // a = a^b^a 即 a = b
}

关于异或操作请移步:

对于追求致简的同学来说,方法2可以利用括号来用一行代码实现:

// 致简(抽风)式写法
void swap(int *a, int *b){
    *a ^= (*b = (*a ^= *b) ^ *b);
}

对于以上三种写法完整的程序格式如下:

#include<stdio.h>

void swap(int *a, int *b);

int main(void){

    int a = -2, b = 3; // 可以更改不同的值来测试程序是否有问题
    
    printf("a=%d b=%d\n", a, b);
    swap(&a, &b);
    printf("a=%d b=%d\n", a, b);

    return 0;
}

void swap(int *a, int *b){
    // 此处填上上述三种写法其一
}

本回答被网友采纳
第4个回答  2010-10-22
#include <stdio.h>

void main(void)
{
int a,b,c;

printf("please input a= b=\n");
scanf("%d%d",&a,&b);
c=a;
a=b;
b=c;
printf("a=%d,b=%d\n",a,b);

return;
}本回答被网友采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网