1樓:匿名使用者
想實現在函式中交換就要用void compare(int &a,int &b);
*****為什麼沒有交換*****
在子函式中是用的值傳遞的方式(函式傳值有2種:1.形參(複製值),2.引用(指標))
好了,現在你知道了,因為是採用的複製值的方式進行的引數傳遞,所以當然不會對原來的資料有影響了。(你總不能指望修改了復件word中的文字就要求原件內容也自動作相應變化啥)
2樓:_____一葉障目
是的,如果想在函式中改變傳進來的引數的值,就這樣寫void compare(int *a,int *b)printf("%d,%d\n",*a,*b);
}望採納~
3樓:
你寫的這種形式就相當於在子函式中宣告乙個a 和乙個b main函式只是把數值傳遞過去了
所以不影響 如果是指標的話就是傳遞位址過去 可以改變位址中的值
4樓:匿名使用者
c 語言中函式間引數傳遞時,是把實參的值傳遞給形參,並不是共享乙個儲存單元,所以形參的值改變後不會影響到實參,所以實參的a、b還是22和33
5樓:
第乙個輸出是在 if外面的 好伐
C語言的小問題,C語言的乙個小問題
1 按括號優先的順序 a b 符號 當運算子兩邊的表示式的結果都為true時,整個運算結果才為true,否則,只要有一方為false,則結果為false 2 只有同為假時才為假。3 任何乙個值為true 或者兩個都為true 則返回值為true。如果兩個運算子都是false,則返回值為false。a...
問關於c語言指標的問題,問一個關於C語言指標的問題
常玉標 cannot convert from const int to double 編譯器 會出現這樣的錯誤.應為不能把const int 賦值給 double 型別的變數.希望你能懂 首先我鄙視下樓上的回答,答非所問。你這肯定錯誤的啊,首先 double p 是定義了一個指標變數p,p只能存放...
c語言的問題,C語言的一個問題
這是中國mooc上的題目吧,你的程式其實是正確的。知道為何 說 格式錯誤 了嗎?include int main 上面這個程式經驗證是可通過的。include int main 而原先我的這個程式卻不行!0分!覺得明明是同一套程式吧,他喵的我發現運算子與變數之間要空格,評分系統才認你的程式,等號兩邊...