1樓:匿名使用者
如果要解釋就認為你的那個|是按位或運算子吧!,因為你可能是要表達\,所以我也不太清楚。
理解為!a&&!b|!c
c語言中主要是理解一些運算子的優先關係。而且某些的順序不一樣,我們從左到右開始。
第一部,由於&&前面是!a ,所以a先與!結合,然後再和&&結合,所以!a=0
第二部,0&&!b|!c,由於,&&的優先順序小於!,所以b先與!結合得到!b=0;
第三部,0&&0|!c,顯然,這裡的|優先順序又要高於&&運算子,所以&&後面的零先與|結合,最後面的c就先與!結合得到!c=1;
第四部,最後是0&&0|1,且|運算子高於&&,所以先進行後面的運算,0|1,相當於0的二進位制00000000,與1的二進位制00000001,沒位取或,結果得到00000001=1;
第五部,0&&1,這顯然的結果是0&&1=0,
第六部,賦值運算子的優先順序最低,最後把0賦予給d,結果輸出的就是0.
不知道你能懂不,呵呵!
2樓:匿名使用者
結果為0;
運算子運算等級如下
其中 1級優先順序最高,15級最低,
1級優先順序 左結合
() 圓括號
下標運算子
-> 指向結構體成員運算子
. 結構體成員運算子
2級優先順序 右結合
! 邏輯非運算子
~ 按位取反運算子
++ 自增運算子
-- 自減運算子
- 負號運算子
(型別) 型別轉換運算子
* 指標運算子
& 地址與運算子
sizeof 長度運算子
3級優先順序 左結合
* 乘法運算子
/ 除法運算子
% 取餘運算子
4級優先順序 左結合
+ 加法運算子
- 減法運算子
5級優先順序 左結合
<< 左移運算子
>> 右移運算子
6級優先順序 左結合
<、<=、>、>= 關係運算子
7級優先順序 左結合
== 等於運算子
!= 不等於運算子
8級優先順序 左結合
& 按位與運算子
9級優先順序 左結合
^ 按位異或運算子
10級優先順序 左結合
| 按位或運算子
11級優先順序 左結合
&& 邏輯與運算子
12級優先順序 左結合
|| 邏輯或運算子
13級優先順序 右結合
? : 條件運算子
14級優先順序 右結合
= += -= *= /= %= &= ^= |= <<= >>= 全為賦值運算子
15級優先順序 左結合
, 逗號運算子
3樓:匿名使用者
d=!a&&!b|!c
!a=!4=0,!c=1
!a&&!b=0
| 按位或運算子(二進位制數位上數字相同時為1)d=!a&&!b|!c=0;
4樓:匿名使用者
|優先順序大於&&
a=4,b=5,c=0
!a=0
!b=0
!c=0
所以!b|!c==0 再與 !a 相與
結果為:0
關於c語言的一道題,關於C語言的一道題
龍 鳳 兩個for迴圈,再建立一個動態陣列,就可以了 include include include char submaxstring const char str1,const char str2 int size strlen str1 strlen str2 strlen str1 strl...
一道C語言窮舉題。C語言窮舉 一道數學題。
不就三重迴圈嘛,include main 結果顯示了很多給。我不太理解,要什麼給什麼,是要求查詢嗎?輸入英國人就出現英國人的個數,輸入美國人就出現美國人的個數嗎?而不是一下全部顯示出來。我把樓上的改進一下,include include main 一個迴圈就夠了,效率較高,如下 include in...
求解一道C語言題,求解一道C語言題目
不考慮效能優化,只考慮功能可以這麼寫 include stdio.h include string.h define max str len 128int main char str2 max str len scanf s s str1,str2 for i 0 i strlen str1 i e...