為什麼while q1 empty 不等價於while q1 empty ! 0 ?

2025-01-17 19:20:18 字數 3127 閱讀 8218

1樓:最大的寶寶

這種題要用人的思維來理解。假設為空時empty返回真,即返回值不等於0。

左邊含義為,q1不為空;

右邊,不等於0,相當於q1為空。

很明顯兩邊是相反的。稍顯複雜,自己揣摩一下while(!k)和while(k!=0)是不是等價的就很容易理解了。

2樓:網友

0和是等價得,你給得這兩個式子含義正好完全相反。

從可讀性角度講,應該努力用而不是!0,這涉及到把「邏輯語義」和「現實語義」隔離得問題。

3樓:網友

(和(!0)的真值情況不一樣,你再仔細瞧瞧。

c語言為什麼語句while(!x)和while(~x) 不等價?

4樓:花知烏雅寅

是邏輯運算子非,while(!x)就是x不等巧閉於0的時候迴圈條件成立。

是位指寬鎮運算子號,取反唯粗,while(~x)的意思是,位x取反,迴圈恆成立的。

5樓:匡逸完玉韻

首先while是乙個迴圈,x--為迴圈條配咐件。

第一次while(x--)x--取值為2,條件為真,x=1;

第純枝二次while(x--)x--取值為1,條件為真,x=0;

第三次while(x--)x--取值為0,條件為假。但是x--繼續做了培褲純所以最終x=-1

以下給出的表示式中與while(e)語句中的(e)不能等價的表示式是(為什麼?)

6樓:匿名使用者

dwhile(e)是指當e不等於0時為真,d顯然與此相反,abc都是e不等於0的意思。。

7樓:柳亦隨風

題目中的while(e)迴圈是當e等於0時,迴圈結束,e不等於0時,繼續迴圈。選項c中,當e等於0時,表示式「e==0」為真繼續迴圈,而e不等於0時,表示式為假迴圈結束,這與題目中的條件不等價。

8樓:貓嘗不出來甜味

選b,它是邏輯表示式,其他是條件表示式。

在j**a中while(1){} 編譯不通過,而while(true){} 能通過?請各位解說一下?

9樓:渴求一杯藍山

true是boolean型,它可以作為判斷條件。

1是整型,這個如果是這樣1==1則可以,以為它返回true,就等同於上面了。

10樓:網友

while(true){}這是不斷迴圈語句,只能break跳出迴圈,只要為true,則永遠迴圈。

while(1){}括號裡是判斷的,只能是boolean型。

11樓:網友

while()括號中只能放boolean型別的值或值為boolean型別的表示式。

true是boolean型別的所以能夠放入到while條件中。

1是int型別所以不能放到while條件中。

12樓:牲口了記憶

()括號裡面寫的是判斷的條件,如果你開始宣告乙個變數x ,如: int x=1; 當你while(x==1){}時,條件為真(true),執行{}裡面的內容 ,

為什麼while(!e)代表判斷是否為0,等價於e==0,不應該是不等於0嗎,這樣就可以繼續執行了

13樓:網友

0為真,繼續執行。1為假,此時不執行後面的**。

while()語句中的x與下麵條件表示式等價的是x!=0,請問為什麼是這樣的啊?

14樓:己秋英鄧冬

while()語句中,執行的條件為表示式x為真即為1,在c中表示式的值只有兩個,非0即1,因此等價。

15樓:淡秀英茅巳

因為在判斷條件中。

0是作為假來處理的。

if(0)則這個if永遠不會成立,因為0就是假。

while(x)

迴圈結束的條件就是x=0,因為除0以外其他數都被認為為真。

while(x!=0)結束的條件也是。

x=0所以看來是等價的。

c語言問題裡面的while(!r)什麼意思,換成while (r!=0)為什麼不可以

16樓:史前捍衛

!r是非的意思,!=是不等於,假如r=1 那麼!r是小於和等於0即為假 while(!r)是假程式不執行,r!=0是真的即為while (r!=0)真程式執行。

17樓:網友

首先問題:

while(!r)表示r=0時迴圈, while(r!=0)表示r非0時迴圈。

補充問題:這是乙個遞迴,表示r為0了就直接返回模的除數,否則就繼續除,else後面就是遞迴函式。

這個貌似是求m和n的最大公約數的function吧。

18樓:網際網絡前世今生

!r意思是非r的意思,就是r是假的意思,可以把它換成if(r==0)也可以。

希望對你有幫助,有問題可以問我,呵呵。共同學習!

while(!x)與while(x==0)等價,為什麼?

19樓:網友

函式while(),是否執行迴圈取決於括號內的表示式是0還是非零,如果是非零就執行,是0就跳出迴圈。當x=0時,x==0為true,所以其結果是非零,而!x也等於非零,所以二者等價;當x≠0,x==0為false,所以其結果為0,而!

x也等於0,所以二者也等價。因此,這兩個表示式等價。

20樓:網友

while(!x)指的是x的逆是1時。那麼在程式設計、電腦。1的逆是0,所以跟while(x==0)等價。

21樓:真的懂懂的

while(x) 判斷 x為真(1) 進入迴圈x為假(0) 不進入。

while(x!=0) 判斷 x不等於0 為真 進入迴圈x不等於0 為假 不進入。

22樓:秋曦

前者是布林型的,後者是整型。 這是不相等的,布林並不表明x就為零,只是說不為x的初值罷了。求採納。

1加1為什麼等於2?1加1為什麼等於

1 1 2 是初等數學範圍內的數值計算等式。當某個原始人第乙個意識到1 1 2,進而認識到兩個數相加得到另乙個確定的數時,這一刻是人類文明的偉大時刻,因為他發現了乙個非常重要的性質 可加性。這個性質及其推廣正是數學的全部根基,它甚至說出數學為什麼用途廣泛的同時,告訴我們數學的侷限性。人們知道,世界上...

1加1為什麼等於2,1加1為什麼等於

1加1為什麼等於 刷分傻皮全家橫死暴亡,挫骨揚灰,死無葬身之地。數學中的計算式,也可以不等於2,要看你怎麼證明了。1加1為什麼等於 1 1也有可能等於三啊。很多人都不知道的,1加1為什麼等於 比如 我有乙隻手。然後又長了乙隻手。所以現在我有兩隻手。1加1為什麼等於 算術是對實踐觀察經驗的抽象化和符號...

1一1為什麼不等於,1一1為什麼不等於

3的漢字是三,豎著看就是1 1,中間還有乙個一,所以是3 因為減號是短的,你這個長的是破折號,所以你這個不是1減1而是1槓1 因為你寫的是乙個破折號,不是減號,所以不等於零。乙個人懷孕了生產減了乙個人,還有乙個大人啊 定義問題,人們覺得這樣比較自然,所以規定它是1。有很多種不同的理由 按照階乘的性質...