設有定義int x 3 y 4 z 5下列表示式值為0的是

時間 2021-08-11 18:05:28

1樓:甕文濱魏蘊

是第四個,第四個的結果是0,分析如下:

一、y%z>=y-z,y%z就是y除以z所得的餘數,顯然是4,y-z=-1,4>=-1,結果是1

二、x<=++y,x是3,++y是對y加1,所以結果是5,3<=5,結果是1

三、x!=y+z>=y-z,x=3,y+z=9,y-z=-1,注意優先順序,x!=y+z>=y-z等價於

x!=(y+z>=y-z),y+z>=y-z的結果是1,結果是1

四、x>=y--,x=3,y--是先取y的值,再對y減1,所以結果是4,x>=y--結果是假,即0

2樓:吳幼珊佘溶

c語言對真假的規定是

1為真,0為假,當然一個量非零也是真

所以上題中

a、'x'

&&'y'

邏輯與兩邊都是非零,結果為真

b、x&&y&&

zxyz都是非零的量,

結果為真

c、x||y+

z&&y-

z||是邏輯或,

所以只要x為真,結果就為真。

x非零,結果為真

d、!(

(x

!z||1

)同理||1

為真,就是括號裡的為真,所以整體再!操作,變為假,結果為假

定義陣列int x 41,2,31,2,31,2,31,2,3int x31,2,3,

你的理解有一半是對的,有一半是錯的。對的就是你明確了兩個陣列都是不確定的,錯的就是你誤以為0可以有無限個。你要知道第一維度和第二維度都代表什麼。前面代表陣列有幾行,後面代表每行有幾個元素。如果int 3 那麼系統知道了每行有幾個,就可以確定陣列為a 1 3 如果int 3 那麼系統就確定陣列為a 2...

設有定義語句 char str20hellobe

char str 20 表示str是個二維陣列,每一維有二十個字元元素。char p 表示p是一個指向字元型別的指標,因此,p str 這裡會有編譯警告。但並不會產生錯誤。只是關於p的運算會是 p str的首地址,即 p指向 h p 1指向 e p 2指向l p 20指向 beijing 的首地址,...

有定義int x 2,p q p,一下賦值語句錯誤

開心 d是錯誤的,p是指標,x是變數,指標只接受地址,不能接受變數本身的值。有定義 int p,q,x 如下有p x,q x,哪個正確?怎樣才是都正確的? p x正確,q x錯誤,q是二級指標,不能直接指向普通變數,而應該指向一個指標變數,這麼寫就正確 q p 若有說明 int n 2,p n,q ...