[問題] 副程式更改value

看板C_and_CPP作者 (皮小志)時間6年前發表 (2019/03/28 18:57), 6年前編輯推噓2(205)
留言7則, 6人參與, 6年前最新討論串1/2 (看更多)
問題(Question): 請問一個小觀念 爬了很久都找不太到 請問 main(){ int a=123; int b=456; swap(a,b); printf("a:%d b:%d",a,b); //line A } swap(int a, int b){ int temp temp=a; a=b; b=temp; } 請問line A 印出來還是 a:123 b:456 有沒有方法可以讓LineA 印出來是 a:456 b:123 也就是說可以call一次swap 主程式的value就交換一次 謝謝大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.172.116.121 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1553799469.A.C60.html ※ 編輯: wmfgdate (1.172.116.121), 03/29/2019 02:59:48

03/29 03:30, 6年前 , 1F
call by address
03/29 03:30, 1F

03/29 03:51, 6年前 , 2F
swap 一般是用 macro
03/29 03:51, 2F

03/29 04:02, 6年前 , 3F
call by reference也可以
03/29 04:02, 3F

03/29 06:06, 6年前 , 4F
printf("%d %d",b,a)
03/29 06:06, 4F

03/29 06:07, 6年前 , 5F
用指標去改
03/29 06:07, 5F

03/29 10:01, 6年前 , 6F
swap(int& a, int&b )
03/29 10:01, 6F

03/29 14:45, 6年前 , 7F
已解決 感謝樓上各位
03/29 14:45, 7F
文章代碼(AID): #1SdHajnW (C_and_CPP)
文章代碼(AID): #1SdHajnW (C_and_CPP)