-
呵呵。。。。。。巧合,絕對是巧合,呵呵.........C++ 庫函式具有 swap 函式,並且此函式仍然是泛型的。
templateinline
void swap(_ty& _x, _ty& _y)_ty _tmp = _x;
x = _y, _y = _tmp; }
第一:你自己寫的比較匹配,所以你自己寫的。
第二個:你寫的不匹配,會呼叫庫函式的swap,這個泛型函式會幫你做這個工作,你可以在swap中設定乙個斷點,然後除錯,發現它根本沒有執行。 (一樓的那個很不對)。
-
顯然,第乙個你把 a 和 b 的位址分別分配給 *s1 和 *s2,所以 *s1=&a;*s2=&b;
第二個將 a 和 b 作為引數分別傳遞給表單引數 *s1 和 *s2因此,*s1=a; *s2=b.
-
templateinline
void swap(_ty& _x, _ty& _y)_ty _tmp = _x;
x = _y, _y = _tmp; }
執行的就是這個,而你自己寫的根本沒有執行。
因為你自己寫了乙個函式,所以相當於庫函式的過載,如果引數型別和名稱的數量相同,則為重寫。 第乙個程式被重寫,執行您自己的程式,第二個過載,執行匹配的引數型別和編號。
對於函式過載,您可以查詢教科書。 他們也有很多。
-
二顯然是錯的,結果只能說位址2的內容是3,位址是3內容是 2
-
temp=a*;
a*=b*;
b*=temp;
什麼是a* b*? 是的,*a *b 是好與否,a 和 b 是指標,* 運算子應放在指標前面,參見:
更深入地了解 C 指標的奧秘。
-
它不應該是 a*,它應該是 *a,下面的 i* 和 j* 應該替換為 *i *j
-
#include
void exchange(int* a,int* b)int main()
房東明白了! 如果你不明白,我會幫你回答。
-
c 語言?
只需編寫乙個函式,viod exchange(a,b)。
-
大概邏輯是。
建立乙個臨時變數。
1.將 a 的值賦值給臨時變數。
2.將 b 的值賦值給 a
3.將臨時變數的值賦值給 b
-
#include ""void main() 我的是 C 語言,你試試吧。
-
問題 1:程式 Ex;
vara,b,c:integer;
beginreadln(a);
readln(b);
c:=a;a:=b;
b:=c;writeln(a,' ',b);
end.問題 2:程式 Ex;
vara,b:integer;
beginreadln(a);
readln(b);
a:=a-b;
b:=a+b;
a:=b-a;
writeln(a,' ',b);
end.收養我。
你的函式錯了,(int a, int b)是乙個值傳遞引數,它對引數本身沒有影響,返回a,b; 這是我第一次看到這種想法。 應使用指標引數或引用引數。 >>>More