這兩個運算順序應該不一樣吧注優先順序大於

2021-03-04 08:48:31 字數 2257 閱讀 3813

1樓:註冊的使用者名稱

你說的很對,我們分別記表示式1,2,3為a,b,c,則上述兩行表示式分別為:

a || b&&c,即 a || (b&&c) , 用通常的邏輯表示式表述為 a+bc

(a || b)&&c , 用通常的邏輯表示式表述為 (a+b)c

這兩個肯定不一樣

2樓:巴比倫大淫婦

是的 ,兩個運算順序。

c語言中&&和||的優先順序問題

3樓:金魚

經過n遍的除錯,證明:

1、||和&&優先順序相等,且都是從左往右運算2、在出現||和&&的語句中,並不對a++進行運算,只判斷它的初值。當然,這條語句結束後,涉及判斷的表示式就會進行相應的運算(如:a++)。

3、在&&運算中,如果&&前面的邏輯值為0(如:令a=0; a++&&b++,此時,a還沒有進行++運算,仍為0。但是在本語句結束後就自加1),則結束本語句;如果&&前面的邏輯值為1(如:

上面的情況令a=1),則繼續判斷&&後面的值是否為1,如果為1,則繼續判斷後面的邏輯運算;如果為0,而結束本語句。

4、在||運算中,如果||前的邏輯值為1,則結束本語句如果||前的邏輯值為0,則繼續判斷,若||後的邏輯值為1(如:a||b++, 其中b=1),則結束本語句,否則繼續往後判斷舉個實際的例子:#include

void main()

執行結果:a=1b=1c=1d=0

4樓:匿名使用者

先++x,使得x變為1,此時++x為true(因為不等於0),那麼,||是或的意思,只要++x為true了,不管||後面是什麼,都不執行。

所以,++y && ++z都不會執行。

這種求值策略為「短路求值」。

5樓:匿名使用者

第一步,是自右向左賦值,使得xyz都為0.

第二步,因為&&優先順序高所以把第二個式子看成++x||(++y&&++z),然後再看||,由於或運算的結合方向是自左向右,所以先進行左邊的++x,使x變為1,此時整個式子為true,就不用進行後面且運算了(計算機也是只要看到||,先算左邊,如果左邊衛true,那麼右邊的就不執行了)

c語言 && 運算子不是比 || 運算子優先順序高麼?為什麼我這是同級別,求解,謝謝!

6樓:匿名使用者

n後面的式子結果是非0,所以n=1

下面的printf裡的i,j,k與上面n=……式子的運算順序沒有關係,因為你輸入的是i,j,k這個順序所以他就按ijk的順序輸出,你試試吧ijk改成jik,再看看結果

n=……這個式子只能判斷n是否為真(0或1),並不能決定下面輸出的順序,輸出順序呢是由printf()函式裡你輸入的順序(i,j,k)決定,||和&&只能決定運算順序

7樓:憨笑大豬

|| 或是&& 是邏輯運算

n=1||(後面無論是什麼) 等同於 n=true||(無論是什麼)此時 n=true 也就是1

顯示結果是沒有錯的

8樓:匿名使用者

雖然||比&&優先順序高,但是n=...這條語句的作用是1和後面的結果相或,1代表真,所以||後面的值不需要再計算了,因此ijk取原來的值,故得此結果!

在c語言中,,&& 和||的優先順序哪個高?

9樓:匿名使用者

,逗號運算在c語言中是最後的。&& || 是同級,看哪個在前就先算哪個。不過要注意的是&& ||都有不完全運送。

對於&&運送則從左到右進行判斷,如果左邊為0,則右邊不再計算,整個&&運算就是0.||運算也是從左到右,如果有左邊為1則右邊也不在計算,直接輸出1.

++a||++b&&++c這個就可以先判斷++a||++b,這裡呢,根據上述所說的進行判斷,如果1則繼續判斷&&,如果0則直接輸出0,不做最後的++c

10樓:匿名使用者

用機器上執行一下就知道了,這個先運算++a,如果是真(非0)就停止,如果是0,則再算++b

接下來,如果++b為0,則停止,如果++b不為0,就再算++c

11樓:沒有響應

&& 和||的優先順序一樣 按從左向右的順序計算

不過實際使用的時候最好不要靠優先順序 ()比優先順序可靠的多 用括號可以讓程式的可讀性提高出錯率降低 所以優先順序什麼的根本不用記

12樓:奈米言

從左自右,因為他們級別一樣!

兩個耳朵不一樣,兩隻耳朵不一樣,命運

對你的生活有影響嗎?大自然造物的神奇,這麼成就你必然有其道理,我的左右耳也不一樣,乙個高乙個低,眼鏡需要特別調整才能佩戴,不過沒關係,呵呵,給了什麼就是什麼了。你已經很幸運了 還有很多人生來就是沒有耳朵的呢 不要多想,是嗎?兩隻耳朵不一樣,命運?耳朵主要看乙個人童年時期的運勢,1 14歲的運氣,耳朵...

兩個腎大小不一樣有事嗎,兩個腎大小不一樣有事嗎?

沒事。如果你是天生的就沒事,如果是後天某一個逐漸持續變大或者逐漸持續變小建議去醫院看看。每個人的兩顆腎臟的大小本來就不是相等的,但是應該是差不太多。你要是差距巨大建議去醫院看看。正常人的腎臟基本大小一致,相差在1.5釐米以內都是正常的。如果生下來就相差很大,而且小的那個結構不好,就是先天發育不良,不...

居然和竟然這兩個詞除筆畫不一樣還有什麼區別

居然,表示出乎意料,在自己意料之外 竟然,表示出乎意料,不顧事實 兩者的在使用角度上都有讓人出乎意料的意義成分,無論在文章裡或是在口語中在兩個詞後面都會各處乙個讓作者或說話者感到出乎意料的條件或結果.竟然 的使用範圍要大於 居然 居然 後面往往跟著的是乙個另作者或說話者不希望得到或發生的結果,而前面...