2つの数値を入れ替え、一時変数を作成しないでください

一時変数を作成することなく、2つの数交換
1. XOR(同じことが0であるが、異なる1)
A = B A ^
B ^ A = B
A = B ^ A
辞書:B = A ^ B = A ^ B ^ B =;
A = A ^ B ^ A ^ B ^ B = B。

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>

int main()
{
	int a = 0;
	int b = 0;
	printf("请输入a,b的值");
	scanf("%d%d",&a,&b);
	printf("a=%d,b=%d\n",a,b);
	printf("交换后的值为:\n");
	a = a ^ b;
	b = a ^ b;
	a = a ^ b;
	printf("a=%d,b=%d",a,b);
	return 0;
}

2.加减
a = a + b
b = a - b
a = a - b

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>

int main()
{
	int a = 0;
	int b = 0;
	printf("请输入a,b的值");
	scanf("%d%d",&a,&b);
	printf("a=%d,b=%d\n",a,b);
	printf("交换后的值为:\n");
	a = a + b;
	b = a - b;
	a = a - b;
	printf("a=%d,b=%d",a,b);
	return 0;
}

おすすめ

転載: blog.csdn.net/Amoralmmm/article/details/92178505