1樓:凌晨
不一樣,一個是賦值一個是判斷區別就是一個是判斷一個是賦值。n==1不說,非常常見的判斷。而賦值也是一個表示式,表示式的值就是你給的值。
所以n=1的值是1,在c中也算是true. 所以你這麼寫理論上也沒什麼問題。而這樣寫會給以後讀**的人造成麻煩,很可能沒注意到你這裡是賦值。
而你自己寫的時候本想寫==卻寫成了=編譯器是不會報錯的,你自己發現結果不對的話也不好找。所以一般都不建議這麼用賦值表示式。後面的寫法就是一種改進,如果你想寫1==n而寫成1=n編譯器是會報錯的,這相當於對常量賦值。
出了錯很容易找出來。所以有的書會推薦這種把常量放在左邊的判斷。忘記是c專家程式設計還是c陷阱與缺陷裡面寫過了。
這種錯誤只要注意點就能避免。如果你完全相信自己的話用前面的也可以,可以省一行**。這其實是程式很常見的錯誤,鍵盤按快了有的時候也==變成=。
2樓:龍睿琛研
您說的是在c語言裡邊嗎?
在c中,不一樣,雖然他們兩個的結果都是x=5,但是第一個呢,是把5賦值給x,而第二個的含義是5等於x
c語言:int x=6,y=5;a=(--x==y++)?x:y+1;a=5的原因
3樓:匿名使用者
()裡--x先x自減1,此時x=6-1=5然後x先和y比較是否相等,然後y才+1;
所以()裡的==結果是真;
當?號前面結果為真時,執行:號前面的表示式;
所以a=x=5
4樓:擁雲莊主
這個題目其實考的是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.
5樓:哎_我可用
a=()?a:b,先判斷第一個括號內真假,真的話,a=a,假的話a=b,--x(使用之前減一)為5,y++(使用之後加一)為5,因此括號內為真,a=x,x=5,所以a=5啦
關於c++的問題。int x=4,y=5 表示式y>x++?x--:y++。。。的值是
6樓:匿名使用者
c++裡面的 問號bai表示式du
1: y>x //由於++在後面所以是
zhi 5 和 4 比較
2:x++ //比較完
dao x = 5了
3:由於 第一步 結果為true 所以執內行容x-- 那麼x 又由5 變成4 了
4:y++**不執行 所以還是 5
5: int z = y>x++?x--:y++;由於x--,--在後面
所以 x =4 ,y = 5, z = 5;
7樓:她在哪阿
這是個問號表示式,如果y大於x則執行x--反之執行y++,但是執行之前都會執行x++;那麼回此時x==,y==,比較是答比較的x++之前的值,所以執行x--;此時x==5,但是先執行x,所以表示式的值為5,之後x==4y==5;
8樓:最終幻夜
您好 根據您的題意 三目運算子 首先進行判斷 5>4++ 顯然條件為真 然後x的值+1變成5了 返回冒號左邊的 x的值 為5 所以最後表示式返回的是 5 但是x仍舊是4
請問數學: 42×(2/3)x-5+2=36,是這樣計算 42×2÷3x-5+2=36 28x-5+2=36 28x=36+5-2 28x=39 x=39?
9樓:友緣花哥
計算答案是對的,但是部分步驟不對
42×(2/3)x-5+2=36
42×2x÷3-5+2=36
28x-5+2=36
28x=36+5-2
28x=39
x=39/28
10樓:匿名使用者
這個中括號沒有必要存在。
它的思路是不是這樣
把「6×5×4=120」看作是一個整體,之後「+2.5」
你下面說的在這裡也沒有
main( ) {int x=5; if (x--<5) printf(「%d\n」, x); else printf(「%d\n」, x++); }輸入5時候值為
11樓:金色潛鳥
x-2 是表示式,不是賦值語句(x=x-2),所以它沒有改變 x 的值。
if (x-2)else{};
x-2 表示式的值 為 3 ,它大於0,也就是 「真」,執行 printf(「%d\n」, x);
輸入5時候輸出值為5
12樓:匿名使用者
if(x--<5)語句的意思是這樣的:首先運算x<5,結果為0,其實等同於它判斷x是否小於5,結果為假,接著x需要自減也就是x減一!然後執行下一條語句,由if語句為假可知它執行了else printf(「%d\n」, x++);,同上邊一樣他也是首先輸出了x的值然後x再增一,但增一對輸出沒影響了所以,除錯結果是4而不是你說的3!
if(x--<5)改成if(x-2)後他的運算是這樣的:首先計算x-2結果為3,(非零,注意這時候x的值還是5),而c/c++上認為非零即為真,然後他會直接往下執行 printf(「%d\n」, x);直接輸出了x的值5!
如何解方程3(x-5)²=2(5-x)?
13樓:荷花並蒂
一、 3(x-5)2=2(5-x)
3(x-5)=-2
3x-15=-2
3x=13
x=13/3
注:方程兩邊同時除以(x-5)
二、 3(x-5)2=2(5-x)
-3(x-5)=2
-3x+15=2
-3x=-13
x=13/3
注:方程兩邊同時除以(5-x)
三、3(x-5)2=2(5-x)
3(x-5)=-2
x-5=-2/3
x=13/3
注:大致方法同一,但第三步不同。
四、3(x-5)2=2(5-x)
-3(x-5)=2
x-5=-2/3
x=13/3
注;大致方法同二,但第三步不同。
寶馬X5怎麼樣,寶馬x5怎麼樣值得買嗎
運動車的效能,四門車的舒適,適合各種不同路面 bmw x5系列,尤其是x5 4.6is為您帶來了世界上最好的四輪驅動,加上強大的力矩,保證bmw運動型汽車在任何路面均可連續平穩的駕駛。寶馬x5不僅被證明是最安全的suv型車,也是迄今為止 美國高速公路安全保險協會 所測評過的表現最佳的汽車。由於採用 ...
X5中,當X時X,X5中,當X時,X5是這個分數的分數單位,當X時,X
根據複分數單位 及假分制數的意義可知,x 5 中,當x 1時,x 5 是這個分數的分數單位 x 5時,x 5 是最小的假分數 10 5 2,即當x 10時,x 5 的值是最小的素數.故答案為 1,5,10.在 x 5 中,當x為 時,x 5 是這個分數的分數單位 當x為 時,x 1 x 5 的分抄母...
X5中,當X時,X5是這個分數的分數單位,當X時,X5是最小的假分數,當X時,X5的值是
根據分數單位及假分數的意義可知,x5 中,當x 1時,x 5是這個分數的分數單位 x 5時,x 5是最小的假分數 105 2,即當x 10時,x 5的值是最小的素數 故答案為 1,5,10 x 5 中,當x 時,x 5 是這個分數的分數單位,當x 時,x 5 根據複分數單位 及假分制數的意義可知,x...