1樓:左左強強峰峰
邏輯運算而已,用於判斷;
1,++x||++y&&++z
先給x + 1,若等於0,計算右邊,分別給y和z +1後若不為0整個表示式不為0,若x +1不等於0則不計算右邊的表示式;
2,++x&&++y&&++z
先給x +1, 若不等於0,計算右邊,給y +1若不等於0,計算右邊,給z +1若不等於0表示式不等於0;否則整個表示式為0;
3,x++&&--y&&z--||--x
先看x 是否為0,如果不為0,x +1;計算右邊,先給y-1,若不為0,計算右邊,判斷z是否為0,不為0,表示式(x++&&--y&&z--)值為1,z-1;右邊不用計算了;若z為0,z-1, 右邊先給x-1若不為0整個表示式為1,若為0整個表示式為1;
2樓:滄海雄風
因為「左結合律」和「 短路求值 」。
c語言保證邏輯運算的求值順序是從左往右的。
用括號顯示優先順序是這樣的:
(++x) || (++y && ++z)個人覺得,在不影響語意的前提下,把運算過程看成這樣∶(1 && ++x) || (++y && ++z)c中對於邏輯或的運算是只要第乙個表示式為真,就不會去算後面的表示式了
3樓:
這樣分解:++x||++y&&++z , 這個表示式中++x 與 ++y&&++z 兩者構成「或」表示式。或表示式中兩者有乙個為真,表示式即為真。
在c中,對於或表示式,當第乙個表示式為真是,就可以認為真個表示式為真,沒必要去計算後面的表示式的值。
如果你真的想要知道到底是為什麼?計算機為什麼要這樣做。建議你看看編譯原理中的表示式的翻譯方案,你就會懂的。
4樓:匿名使用者
首先從c語言運算子優先順序來看, && 高於||
所以上面表示式相當於 ( (x>=2 && y<'z') || !y)) 就是((1 && 1) || 0) , 最後就是(1 || 0)=1
5樓:宋文婷
|答案是c
x>z && y < 'z' || !y把變數替換就是45 > 0 && 'a' < 'z ' || !y45 > 0為真,'a' < 'z' 也為真,所以45 > 0 && 'a' < 'z '為真,變為1 || !
y1與什麼值相或都為1,所以答案為1
6樓:匿名使用者
||||||運算時把後面的所有表示式當成它右邊的乙個表示式上面那句等價於++x||(++y&&++z )
且得到x>0後||有邊的表示式不會進行運算而直接退出
要達到你說的意思講表示式修改為(++x||++y)&&++z 即可
7樓:
看來你對優先順序的理解有點問題。優先並不決定運算順序,它的實質是結合
性,是說++是與y結合在一起而不是和||結合在一起;前面的++也是與x結合在一起。而||是連線(++x)和(++y)運算子而不是連線x和++的運算子。c/c++中表示式的運算順序一律從左至右!
8樓:匿名使用者
++x 已經為true了
9樓:匿名使用者
||號,是第乙個條件滿足就不管第二個條件,所以不做++y。
10樓:反叛的神明
原題=++x || (++y && ++z)++級運算高 =++x || 1 = 1||1=1
c語言中,++x||++y&&++z,++x&&++y&&++z的意思分別是什麼?
11樓:左左強強峰峰
邏輯運算而bai
已,用於判斷;du
1,++x||++y&&++z
先給zhix + 1,若等於0,計算右dao邊,分別專給y和z +1後若不為屬0整個表示式不為0,若x +1不等於0則不計算右邊的表示式;
2,++x&&++y&&++z
先給x +1, 若不等於0,計算右邊,給y +1若不等於0,計算右邊,給z +1若不等於0表示式不等於0;否則整個表示式為0;
3,x++&&--y&&z--||--x
先看x 是否為0,如果不為0,x +1;計算右邊,先給y-1,若不為0,計算右邊,判斷z是否為0,不為0,表示式(x++&&--y&&z--)值為1,z-1;右邊不用計算了;若z為0,z-1, 右邊先給x-1若不為0整個表示式為1,若為0整個表示式為1;
請問c語言t=++x||++y&&++z這句話是什麼意思?
12樓:秋天
c++x||++y&&++z
++x = 2 , ++y = 2 , ++z = 1(++x||++y)&&++z,可以來
這樣來分源,前面因為++x=2 所以擴號的值bai是1
1&&++z = 1&&1=1
這些都是邏輯判du斷,不要去理會具體zhi等於多少,只要dao看它等於0還是等於1就可以了
c語言中的,c語言中的EOF
全文結束就是文字的結束,0 是字串結尾字元,在螢幕上敲的話,linux下輸入ctrl d,windows下輸入ctrl z,os下輸入f4,就能輸入eof。兩個while語句,前面乙個判斷讀取字元是否為eof,後面乙個判斷讀取字元是否為換行字元。如果敲回車的話,沒有eof,只有 r,r是回車符。全文...
c語言中chars101abc,c語言中chars101abc0printfsn,s下面程式段的輸出結果是
輸出的結果 aabc 為什麼輸出這個,是因為 代表乙個反斜線字元 101 代表的是101是乙個整數,在printf時就會輸出這個整數的 ascii字元,即 a 程式的輸出結果是 aabc 解釋 強兩個反斜槓是為了輸出乙個反斜槓 義 101是ascii碼,按字串輸出就是a,後邊依次輸出,0是字串結束符...
c語言中cabcab是什麼意思,C語言中cabca,b是什麼意思
max 是個函式,表示取其中最大的值。比如a 3,b 4,則max a,b 4 a 4,b 3,則max a,b 4 a 3,b 3,則max a,b 3 c語言中c abc a,b 是什麼意思 這是乙個函式呼叫的語句,c等於abc函式的返回值。一般這麼寫abc是乙個函式,也就是存在 fun typ...