1樓:
該語句的意思是對換 array[ i ] 和 array[ j ] 的值(利用按位異或運算:^ )。
其實對換兩個變數的值的方法有三種:
1)用監時變數(最簡單、最有保障、可用範圍最廣,且在多數情況下最快)
2)用按位異或(bitwise xor)操作(跟方法 1 比較:可用範圍小得多,且效率可能較低)
3)用加減法 (最受限制的方法)
按位異或賦值運算子( ^= ):
方法 2 的講解:
至於為什麼呼叫逗號,最有可能的原因 richardbao2000 已經說了。
csdengxm 則說的詳盡些。
我想補充的是,在這種語境中,逗號能保證那三小句從左到右依次執行
(呼叫函式時,用來隔開被傳入的引數的逗號則不提供這種保證)。
這裡有提及逗號操作符:
2樓:菊隱荷湘
,可以用來分隔幾個表示式。
但分號表示語句的結束。
如果你把這些,換成;
那麼意思就會變了。
一句變成了三句。
只有其中第一句才在if()的範圍之內了。
3樓:匿名使用者
因為她懶得寫大括號,為了保持一句。
4樓:匿名使用者
richardbao2000分析得精闢
c++中while(true)是什麼意思
5樓:愛生活
true 即表示為真。因此while(true) 是一個無限迴圈,因為表示式的值一直為真。
下面是一個例子:
//向控制檯列印1000遍「下次考試我一定要細心」
如何呢?我們可以複製1000遍,那如果要1000000遍?在這裡我們就要學習迴圈結構了;
while迴圈;
while(迴圈條件)
迴圈體;
執行過程:程式執行到while處,首先判斷while所帶的小括號內的迴圈條件是否成立,如果成立的話,也就是返回一個true,則執行迴圈體,執行完一遍迴圈體後,再次回到迴圈條件進行判斷,如果依然成立。
則繼續執行迴圈體,如果不成立,則跳出while迴圈,在while迴圈當中,一般總會有那麼一行**,能夠改變迴圈條件,使之有一天不再成立,如果沒有那麼一行**能夠改變迴圈條件,也就是迴圈條件永遠都成立,我們稱之這種迴圈叫做死迴圈。
while迴圈 設定開始迴圈的條件 : **如下:
>>>12345**解析:a = 0 時,滿足條件,a = 0+1 ,此時a=1 並列印 1a = 1 時,滿足條件,a = 1+1 ,此時a=2 並列印 2a = 2 時,滿足條件,a = 2+1 ,此時a=3 並列印 3a = 3 時,滿足條件,a = 3+1 ,此時a=4 並列印 4a = 4 時,滿足條件,a = 4+1 ,此時a=5 並列印 5a = 5 時,【不滿足條件】,迴圈結束。不再執行下面的語句。
以上就是while迴圈的原理,也是一步一步來,直到條件不成立就結束了。
小提示 :a = a+1 可以簡寫為 a + = 1a = a-1 可以簡寫為 a -= 1a = a*5 可以簡寫為 a *= 5
6樓:匿名使用者
就是指無限迴圈.如果不在迴圈內部設定語句跳出,迴圈會一直執行下去.
while(true)
//不斷重複執行大括號內部的語句
因為while語句是通過判斷括號內表示式的返回值來控制迴圈的起停的:
表示式的返回值非0,迴圈繼續
表示式的返回值為0,迴圈結束
可以用如下語句跳出迴圈:
break;
7樓:花荒處起風
true 定義為1,1為真。while(1)代表死迴圈。即無限迴圈下去。要結束死迴圈必須在迴圈體內適當加個break:
8樓:黃孔雲
死迴圈,若該迴圈塊中沒break語句就是用來製造宕機的
9樓:魚欲語
true被巨集定義為1 所以為while(1) 1代表條件為真,則執行迴圈
請教c++的一條語句:hdc hdc;這個hdc啥子用?
10樓:蓋竹
hdc是windows的裝置描述表控制代碼。
在windows環境中,控制代碼是用來標識被應用程式所建立或使用的物件的唯一整數,這些物件包括:
模組(module)
任務(task)
例項(instance)
檔案(file)
記憶體塊(block of memory)
選單(menu)
控制(control)
字型(font)
資源(resource), 包括圖示(icon),游標(cursor),字串(string)等
gdi物件(gdi object), 包括點陣圖(bitmap),畫刷(brush),元檔案(metafile),調色盤(palette),畫筆(pen),區域(region),以及裝置描述表(device context)。
11樓:
bzuhid ,你個lowb
請問一條c++語句代表的意思?
12樓:匿名使用者
c是a的子類,
c(int i_c):a(i_c){}
這一句定義了c類的建構函式,是指c類初始化(呼叫建構函式)時,呼叫父類的初始化(呼叫建構函式)。
c cob(10);
定義了c類的一個例項cob,並用10初始化該例項。
13樓:灰色8酷
c(int i_c):a(i_c){}:建構函式,a(i_c)大致相當於a=i_c;
c cob(10);定義物件,10表示傳遞給建構函式的引數。
建構函式是在物件生成時,對物件進行初始化的一個特殊函式,無返回值,與類名字相同。
14樓:匿名使用者
第一個應該是c類的同名建構函式,又繼承了a類,所以用a的建構函式。
第二個是宣告c類的變數,並用10來初始化這個類,就是用上面提到的建構函式。
C 的return語句用法,c 裡的return應該怎麼用?它的作用是什麼。每個函式都需要寫return語句嗎? 什麼時候應該return
所謂函式有返回值,就意味著此函式不是空型別 void return語句的返回值型別必須跟函式型別一樣,並且 加不加都可以,例如你的例子,函式fac int n 你定義的是長整形long所以返回值f也必須為一個長整形值.而空型別 void 也可以加return,但是不用有返回值,這裡的return代表...
請教C語言陣列的問題,請教一個C語言陣列的問題
這裡沒有重定義,第一個for裡是先給i賦初值2然後進行迴圈,到第二個for的時候i的值又被重新賦了初值為1,這裡的i已經與之前的i值沒有關係了.所以不是重定義 你應該先去看下重定義的概念是什麼,要不你還是會弄不明白的 重定義 是指之前已經定義了一個變數,然後在這個變數的作用域內,又定義了一次同名變數...
初學C請教簡單的問題,初學C ,請教一個簡單的問題
include using namespace std int main return 0 如上,養成用在mian 函式前加using namespace std 你就不用沒個輸入輸出都得加std了,方便些。而且你的while語句的條件表達也有些問題,因為判斷while函式條件的是bool語句,你這...