1樓:jordon歸來
如樓上所述:
你在change函式內應該是將x的值賦予temp!
c++中系統會隨機給temp賦值,如你說的-858993460,按你的寫法自然會出現錯誤結果!
而按照你排序的思想最好是使用陣列實現,這樣可以簡化你的**!
用陣列實現程式**如下:
#include
#include
using namespace std;
另外,為了避免出現上述賦值的錯誤,你還可以採用別的方法避開賦值錯誤!
如:void change(int &x,int &y)個人愚見,僅供參考!
希望能夠幫到你!
2樓:王萬昭
你的change函式裡面的第一行應該是temp=a吧。所以會出一個隨機數,因為你的temp沒有被賦值
3樓:匿名使用者
上面的回答正確,你想實現x,y交換。
在說你剛定義int temp; 沒有初始化,就x= temp;邏輯上編譯也不會成功的。
4樓:匿名使用者
void change(int &x,int &y)
5樓:
void change(int &x,int &y)
那個change函式應該是這樣的 你太大意了 搞程式的需要細心點
6樓:匿名使用者
把函式體內的 x=temp;改為:temp=x; 完後再試試。。。
7樓:匿名使用者
temp=x;
x=y;
y=temp;這樣實行轉換
8樓:匿名使用者
x=temp;
這句應該改成
temp=x;
c語言問題!請高手解答!謝謝,C語言問題!請高手解答!謝謝
你分析程式,首先看main函式,輸入兩個數字 進入for迴圈,迴圈次數是你輸入兩個數字的差 進入一個判斷就是90 120之前的i是否等於 rsum i 的返回值 那麼看rsum函式 sum 0,進入while迴圈 sum sum 10 j 10 sum是0,是代表的取餘,就是除法裡的餘數,比較相近 ...
呵呵,初學c語言遇到下面問題了
double a,b,c 改為 int a,b,c 把double改成int就行了 double 的輸出型別不是 d,是 lf.上面的都是解決辦法,實質上是c中有賦值相容規則,你要清楚賦值中記憶體的變化,這個題你一看就會。a,b,c為double型變數,你用 d輸入肯定不對。定義double 輸出用...
C語言的問題,求高手解答,C語言的一個問題,求高手解答 !
haha 為動態函式,在函式呼叫結束之後,會釋放分配的記憶體,也就是說你用p所指向的 haha 在函式結束後會被釋放 如程式,為什麼編譯無錯誤,卻執行不出來 下面程式vc6執行通過 include include void haha char q q haha 能執行出來才怪!q是指標不應再次指向指...