1樓:勞傷痕
以下通過兩種方式講解了呼叫函式交換主函式的資料方法:指標,引用
分別給了例子,並解釋了你使用一般形參不能交換資料的原因,你可以上機實驗
實驗的時候看我給的註釋搭配使用。
#include
void swap_1(int &x,int &y);//引用
void swap_1(int *x,int *y);//指標
void swap_1(int x,int y);//一般形參
main(void)
//一般形參
void swap_1(int x, int y)//這裡的變數是這個函式的區域性變數
//函式呼叫後,x,y釋放,當你反回主函式的時候,其實a,b根本沒有變。
//要進行值的傳遞,c中使用指標,c++使用引用,分別給你例子
//使用指標
void swap_1(int *x,int *y)//指標變數x指向a的地址,y指向b的地址
//使用引用
void swap_1(int &x,int &y)//這裡變數x,y是主函式a,b的別名(引用的解釋)
2樓:匿名使用者
因為swap_1函式中的xy在main函式中不起作用,這時main中的ab還是原來的ab,將輸出函式加到那個函式中就可以了
#include
swap_1(int x,int y);
void main()
swap_1(int x, int y)
3樓:匿名使用者
涉及到傳參問題,引數傳入實際上是建立了一個副本(拷貝),不是引數本身,修改是在副本上進行的,沒有修改到變數本身,改成指標型別引數,裡面用解引用的方式操作即可
c語言問題,C語言問題!
prid32是個什麼?而且你的雙引號得加轉義符吧?去掉prid32前後的雙引號,另外prid32是否有定義?你的這個軟體支援c99或者c11嘛 就像vc6.0版本太老就不支援c99 看看軟體支不支援 沒有巨集定義,在標頭檔案下面加 define prid32 d c語言問題!因為s是一個指向floa...
c語言問題,c語言問題
include void main 定義f 0 1 f 1 1 for i 2 i 20 i 從2開始到19做迴圈,這裡你少打一個i f i f i 2 f i 1 例如當前i 2則f 2 f 0 f 1 2 迴圈繼續 i 3則 f 3 f 2 f 1 3 迴圈繼續.for i 0 i 20 i 從...
C語言問題,C語言問題,求助
數學水平是要的,重要的是邏輯思維!函式也是要的,沒那你就寫不出什麼好的程式!這函式又和課本上的數學函式有點不一樣!但不象數學函式那麼難,但比數學函式靈活,也有意思。可不是要所有課本的數學函式!課本數學可以不好,但是你邏輯思維一定要好,熊貓燒香知道吧,寫這程式的人只是中專畢業!英語前期是不需要的!因為...