可以使用以下方法对两个变量进行交换:
方法一:定义一个中间量。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main(int argc, char *argv[])
{
int a = 10;
int b = 20;
int temp = 0;
temp = a;
a = b;
b = temp;
printf("a = %d\nb = %d\n", a, b);
system("pause");
return 0;
}
方法二:利用运算(求和作差)的方法。但是不推荐使用,因为可能会出现越界,符号位会发生变化。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main(int argc, char *argv[])
{
int a = 10;
int b = 20;
a = a + b;
b = a - b;
a = a - b;
printf("a = %d\nb = %d\n", a, b);
system("pause");
return 0;
}
方法三:使用位运算符 亦或。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main(int argc, char *argv[])
{
int a = 10;
int b = 20;
a = a ^ b;
b = a ^ b;
a = a ^ b;
printf("a = %d\nb = %d\n", a, b);
system("pause");
return 0;
}
方法四:另外,在go语言中,还可以使用多重赋值交换两个变量的值。
package main
import "fmt"
func main(){
i, j := 10, 20
i, j = j, i
fmt.Printf("%d %d\n", i, j)
}

本文介绍了四种在不同编程语言中实现变量值交换的方法,包括使用中间变量、算术操作、位运算及Go语言的多重赋值,展示了如何在不引入额外变量的情况下高效地交换变量值。
2496

被折叠的 条评论
为什么被折叠?



