将两个整型变量的值互换的方法
1 #include<stdio.h>
2 int main()
3 {
4 int i = 10;
5 int j = 20;
6 int a;
7 printf("i=%d\n",i);
8 printf("j=%d\n",j);
9
10 a = i;
11 i = j;
12 j = a;
13
14 printf("i=%d\n",i);
15 printf("j=%d\n",j);
16
17 return 0;
18 }
1 #include<stdio.h>
2 int main()
3 {
4 int i = 10;
5 int j = 20;
6 printf("i=%d\n",i);
7 printf("j=%d\n",j);
8
9 i = i + j;
10 j = i - j;
11 i = i - j;
12
13 printf("i=%d\n",i);
14 printf("j=%d\n",j);
15
16 return 0;
17 }
这种方法固然可以将两个变量的值互换,但是存在一些问题,正如上个算法中提到的,整型变量int存在最大值得问题,如果“ i + j ”超出了int的最大值,就会使得“ i + j ”的和出现在问题,不在是原本的“ i + j ”的值,从而出现之间将变量的值改变的问题。