1樓:深圳貴森科技
直接給你翻譯了
m是中間變數。主要是 quearry[j]和quearry[j]交換值的位置(棧中位置不變)
1行 先把quearry[j]的值賦給m,這時quearry[j]記憶體位置是空的。
2行 把quearry[k]位置的變數給了quearry[j],現在quearry[j]位置的值是quearry[k]的,quearry[k]的記憶體位置為空的
3 把第一行由quearry[j]傳m的值賦給quearry[k]。
這就是一個變數交換位置的問題。
其他類似的問題你也許會見到:交換a,b的位置。
這是一種交換方法,
還有一種交換方式是不用中間變數,但是稱謂雙操作符。比較複雜點,不給你多說。
2樓:匿名使用者
m=quearry[j]; //當前j值放在中轉變數中
quearry[j]=quearry[k]; //修改當前值
quearry[k]=m; //將j的值給了k,相當於交換
3樓:匿名使用者
很明顯是個冒炮排序.
關鍵理解這一段
m=quearry[j];
quearry[j]=quearry[k];
quearry[k]=m;
m作為變參儲存了quearry[j]裡的值,而下一行quearry[j]的值被新值所替代,最後將儲存在m裡的值再quearry[k].很簡單的值引用.
就如:a=10;
b=15;
m=a;
a=b;
b=m;
最後a=15,b=10;
這個問題弄明白了以後,建議你再看看地址引用這方面的知識.
C語言排序問題
輸入資料那塊 for i 0 i 10 i 你寫的先輸入名字後輸分數,而你讀取時是先讀分數 後讀名字這裡可能是你出錯的原因之一 還有就是最好不要在scanf 讀取時有逗號出現就像下面這句 如果這裡兩個格式控制符中間有逗號 當你輸入時也要在兩個輸入的變數之間加上逗號,並且當你輸入的時候輸入的是中文狀態...
數位電路問題,望高手指點,數位電路高手請,用與非門設計一個組合邏輯電路,實現三輸入的多數表決功能
3.ab 二進位制計數器 a 每經一級觸發器,輸出脈衝的頻率降低一倍b 每輸入一個計數脈衝,最低位的q狀態改變一次。這兩個是對的 4.ace 3.這裡的觸發器是指的d觸發器,d觸發器可以用作分頻電路使用,使用分頻電路使 輸出脈衝的頻率降低一倍 選a 4.四位二進位制計數器,可以構成15進位制計數器,...
請高手指教電腦問題,急!請高手指教電腦問題。謝謝!
你是不是加裝過記憶體?可以嘗試關機取下記憶體清潔一下,另外查殺電腦是不是中了病毒?另外是不是裝過其他程式,先刪除看一下.急!請高手指教電腦問題。謝謝!1 系統檔案受損bai 你雖然重灌du系統了 單手zhi後期安裝的驅動 第三方dao軟體 損壞了系統內 那麼故障容還是會發生 驅動 一個一個安裝 第三...