C语言交换两个数

来源:互联网 发布:python .write 编辑:程序博客网 时间:2024/04/30 09:38

【一】引用第三方变量

#include<stdio.h>#pragma warning(disable:4996)int main(){int x, y, z;printf("Please input two number:");scanf("%d,%d", &x, &y);z = x;x = y;y = z;printf("%d,%d\n", x, y);system("pause");return 0;}

【二】加减运算法:缺点容易溢出

#include<stdio.h>#pragma warning(disable:4996)int main(){int x, y;printf("Please input two number:");scanf("%d,%d", &x, &y);x=x+y;y=x-y;x=x-y;printf("%d,%d\n", x, y);system("pause");return 0;}
【三】位运算(^)

例如:x=9;y=15交换x和y的值

假设x和y在内存中为八位二进数;那么x=00001001;y=00001111

x=x^y=00001001^00001111=00000110=6;

y=x^y=00000110^00001111=00001001=9;

x=x^y=00000110^00001001=00001111=15;

#include<stdio.h>#pragma warning(disable:4996)int main(){int x, y;printf("Please input two number:");scanf("%d,%d", &x, &y);x=x^y;y=x^y;x=x^y;printf("%d,%d\n", x, y);system("pause");return 0;}



0 0
原创粉丝点击