将两个整型变量的值互换的方法

 

 

 

 

 

 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 ”的值,从而出现之间将变量的值改变的问题。

 

posted on 2018-12-01 23:44  The_Ocean  阅读(770)  评论(0编辑  收藏  举报

导航