初學C遇到個問題,請高手解答

2022-10-15 18:23:27 字數 976 閱讀 4590

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是指標不應再次指向指...