任务描述
本关任务:下列程序是不用第三个变量,实现将两个数进行对调的操作。
程序代码如下:
1 #include<stdio.h>
2 int main(void)
3 {
4 int a,b;printf(“Enter a and b:”);
5 scanf(“%d%d”,&a,&b);
6 printf(“a=%d b=%d\n”,a,b);
7 a= ① ;b= ② ;a= ③ ;
8 printf(“a=%d b=%d\n”,a,b);
9 return 0;
10 }
编程要求
根据提示,在右侧编辑器Begin-End处补充代码,并按照要求完成本关任务。
测试说明
平台会对你编写的代码进行测试,若是与预期输出相同,则算通关。
输入:3 4
输出:
a=3 b=4
a=4 b=3
输入:7 85
输出:
a=7 b=85
a=85 b=7
#include<stdio.h>
int main(void)
{
int a,b;
//Enter a and b:
scanf("%d%d",&a,&b);
printf("a=%d b=%d\n",a,b);
/*********Begin*********/
a = b-a;
b = b-a;
a = a+b;
/*********End**********/
printf("a=%d b=%d\n",a,b);
return 0;
}
如果懂得一些位运算的知识的话,通过异或运算(^),即可完成。实现两数交换的代码如下:
a = a ^ b;
b = a ^ b;
a = a ^ b;