實現交換演算法
發布時間: 2023-12-13 16:32:21
a=a^b^(a^b)
定義兩個數int x,y;
如果x=0,y=0,x^y==0;
如果x=0,y=1,x^y==1;
如果x=1,y=0,x^y==1;
如果x=1,y=1,x^y==0;
Ⅱ a和b交換的演算法疑問
a
=
b;的話
b
就是
a,a和b就相等了,就不會交換了。
第二種交換的方法如下a
=
1;
b=2;a=a+b;b=a-b;a=a-b
Ⅲ c語言2個數交換的演算法ns圖
你所說的使用指針一般是用在子函數里進行比較的,因為一個函數只能返回一個值,在函數中值互換後,需要返回兩個值,所以,有人就想到了使用指針,因為指針指向的是地址,內存單元裡面的內容互換後;a,b的值也會隨之改變,這樣,就可以不用返回值便能達到效果, 不使用臨時變數可很簡單,就是上面寫#include<stdio.h> main(){ int M,N; printf("input value for M and N:\n"); scanf("%d %d\n",&M,&N); M=M+N; //把兩數之和放在M中
N=M-N; //兩數之和 減去 N的值,即M的值放在N中
M=M-N; //兩數之和 減去 M的值(現在M的值是原來N的值),即N的值放在M中 printf("M and N value is:",M,N);}
熱點內容