C語言intxy,C語言intxy

2021-03-04 09:00:54 字數 972 閱讀 7776

1樓:匿名使用者

肯定的說:對的(y正確定義後)

==這個運算子叫等於運算子,這也是算是個邏輯運算子,用來判斷其左右兩邊是否相等,,相等返回1,不等返0所以y的值是5時,x=1

y!=5,x=0

2樓:20010211我

賦值的運算是從右向左的,故先進行y==5的判定,如果y此前被定義過,則y==5有意義,那麼賦值也能進行。

3樓:西門**

如果有定義y的話

這個表示式的意思是如果y==5,那麼x的值為1,否則為0

4樓:匿名使用者

不對,x,y都是變數,只能賦值,不能相等

c語言:int x=6,y=5;a=(--x==y++)?x:y+1;a=5的原因

5樓:匿名使用者

()裡--x先x自減1,此時x=6-1=5然後x先和y比較是否相等,然後y才+1;

所以()裡的==結果是真;

當?號前面結果為真時,執行:號前面的表示式;

所以a=x=5

6樓:擁雲莊主

這個題目其實考的是i++(--)和(--)++i的區別。

i++是先使用i的值,再讓i自增1

++i是先自增1後,再使用i的值

--類似。

++,--的運算優先順序大於==,

所以,(--x==y++)?x:y+1;等於((--x)==(y++))?x:(y+1)

--x先減1再使用值,x=5,y++,先使用y的值再自增1,5==5為真,所以取x的值,這時候x=5,所以a=5.

7樓:哎_我可用

a=()?a:b,先判斷第乙個括號內真假,真的話,a=a,假的話a=b,--x(使用之前減一)為5,y++(使用之後加一)為5,因此括號內為真,a=x,x=5,所以a=5啦

C語言問題,intx1,y1,z1xyzxyz的值是多少

x 0y 1 z 1原因是 x y z 中,是邏輯與運算子。程式執行時會先判斷 左邊的部分,如果內左邊部分為真,再判斷右容邊部分。左邊的部分是 x 也就是讓 x 先自減 1,即 x 為 0 邏輯運算時 0 被當作 假 來處理。邏輯與運算時有一項為假,結果必為假,因而不用再判斷右邊的部分。所以 右邊的...

C語言問題,C語言問題

符合,相當於一個字元,ascii字元可以直接轉成short整型數字。101 不符合,這是一個字串,不能作為常數。不符合,因為 會對雙引號轉義,找不到另一個雙引號。會出錯。而且就算是 也不符合,因為編譯器會把它理解成一個字串,而非單個字元。e3不符合。019不符合,0開頭代表8進位制數,不能出現9。0...

C語言求解,C語言求解

我去,你也太大意了吧!1 定義的bml變數是小寫的 float w,h,bmi 在後面各處使用該變數的時候卻是大寫的 bmi fbmi w,h 2 scanf函式名你又打多了乙個字母t scantf f,f w,h 3 定義的函式fbmi,呼叫函式的時候同樣大小寫不匹配 bmi fbmi w,h 4...