我已开始练习 开始慢慢着急
作者:互联网
- 给定两个整形变量的值,将两个值的内容进行交换。
- 不允许创建临时变量,交换两个数的内容(附加题)
首先看这个题目有两种问法,自然就有至少两种答案。
第一种我是创建了一个临时变量把他们相互赋值得到的如下:
#include <stdio.h>
#include <stdlib.h>
int main() {
int a = 10;
int b = 20;
int c;
c = a;
a = b;
b = c;
printf(“a = %d\n”, a);
printf(“b = %d\n”, b);
system(“pause”);
return 0;
}
第二种顺着第一种的思路但不能创建临时变量,C语言里面 = 是赋值的意思,即可以把他们的和差相互赋值得到:
#include <stdio.h>
#include <stdlib.h>
int main() {
int a = 10;
int b = 20;
a = a + b;
b = a - b;
a = a - b;
printf(“a = %d\n”, a);
printf(“b = %d\n”, b);
system(“pause”);
return 0;
}
当然当我学了位运算符我发现还可以这样用“^”表示异或运算(二进制相同为0,不同为1)则:
#include <stdio.h>
#include <stdlib.h>
int main() {
int a = 10;
int b = 20;
a = a ^ b;
b = a ^ b;
a = a ^ b;
printf(“a = %d\n”, a);
printf(“b = %d\n”, b);
system(“pause”);
return 0;
}
肯定还有别的方法!
标签:pause,return,着急,int,开始,练习,system,printf,include 来源: https://blog.csdn.net/Lange_Taylor/article/details/88646981