⑴ 在c語言中,為什麼x++=y++是錯誤的,而++x=++y是正確的
x++有兩個地址,一個是x本身的地址,還有個x+1後的地址,所以它不能作為左值,y++不能賦給一個地址不確定的變數。所以會出錯,而++x,只有一個地址,就是x+1後的地址,所以能將y+1後的值賦給它,所以是正確的,樓主應該是沒明白前++和後++的意義,多看看教材理解理解。
⑵ C語言中y=x++ y=++x的結果為什麼不同
前置自加 先自加 再賦值。
後置自加 先賦值再自加。
所以,y=x++ , y值是自加前的。
y=++x; y值是自加後的。
二者差1.
⑶ C語言中!y是什麼意思
!y,對於y取非
一般用於判斷式中,例如:
if(!y)
當y等於0時,!y就為!0,0為假,所以!y為真,if條件成立
當y不等於0時,!y就為!真,所以!y為假(也可以理解為!y=0),if條件不成立
⑷ x:y在C語言中的含義是什麼
1
x>y?x:y;這個呀
這是3元運算符
表示 如果x>y 為真 那麼就返回x的值 反之就是y的值
2
x::y
表示使用x命名空間下的y
⑸ C語言中交換X,y的值為什麼要用中間變數
因為在計算機中,每個數據都是占據存儲單元的,交換數據時,要先暫存原變數的值,要不然原變數的值將會丟失!通俗的說就是,要交換裝滿水的兩個盆里的水,如果直接把一盆水倒進另一盆中,顯然會溢出,就無法把起到交換的作用。而用第三個盆先裝下一個盆的水,這樣就不會使水流失,從而起到交換的作用!當然,在計算機中,數據是不會像水一樣可以融合的,而是整塊整塊的丟失!
⑹ x>yx:y;在C語言中代表什麼意思
是條件語句:
?前面的x>y是個邏輯表達式,如果表達式為真,則該表達式的值取?後面的值x,否則取:後面的值y
也就是說c的值取x和y中的較大值!
? : ; 是c語言中唯一一個三目運算符。如果x大於y為真,結果輸送x,否則為假結果輸送y;
(!x++||y--)這個邏輯大概就是x等於0或者y不等於0最後表達式結果為1
++和--是後做的,還有如果x為0,y就不--。
(6)c語言中為什麼yxx擴展閱讀:
C的運算符有以下幾類:
1、算術運算符:* - + / %
2、關系運算符: > < == != >= <=
3、邏輯運算符:! && ||
4、位運算符:<< >> ~ | ^ &
5、賦值運算符:=及擴展賦值運算符
6、條件運算符:?:
7、逗號運算符:,
⑺ c語言中(x,y)表示啥意思
y==5表示邏輯判斷,得到結果1(true)或者0(false)
x=y是賦值語句,把y的值賦給x
意思就顯而易見了