1樓:手機使用者
x=y=3;
t=++x||++y;
所以3因為第一句y=3,第二句t=++x,則t=4為真,因為「||或」運算子只要前面為真,整體就為真,所以它不會再去執行++y語句,所以y還是等於3
2樓:匿名使用者
x=y=z=3;t=++x||++y
結果1++x 為4,非0為真
++y 為4,非0為真
||就是邏輯或,真||真仍為真,所以t 為1
3樓:匿名使用者
邏輯表示式求解不一定對邏輯運算子兩遍表示式都求解。
t = ++x || ++y
^x = 4非0,為真
由於是邏輯或,一個為真則都為真,所以++y不執行
4樓:匿名使用者
y的值為3
解釋:自增運算子(++)高於邏輯運算子(||),邏輯運算子(||)高於賦值運算子(=),所以先求++x值,為4,即真,這時||的值肯定為真,就不會執行++y,因為在c語言中,用&&對兩個表示式進行計算時,若第一個表示式的值為"假",則運算結果與第二個表示式的值無關,結果肯定為"假",所以c語言規定此時第二個表示式將不再計算。同樣用||對兩個表示式進行計算時,若第一個表示式的值為"真",則運算結果與第二個表示式的值無關,結果肯定為"真",所以c語言規定此時第二個表示式也不再計算。
而邏輯運算子計算結果為「真」和「假",用0和1表示,所以++x||++y邏輯表示式的值為真,即1,因此:t=1,y的值不變(沒有執行++y)
設x.y.t均為int型變數,則執行語句:x=y=3;t=++x||++y;後 y的值是多少
5樓:
||是符號或,優先順序是從左到右判斷。如果第一個語句為真則結果為真,不執行第二個語句直接跳出;如果第一個語句為假則執行第二個語句,當第二個語句為真時結果是真,為假時結果為假。因為x是3,++x就是4,所有非零的數字都是真,所以t的值直接為1,不執行++y,所以y還是最初賦值的3.
6樓:顓孫思蓮閻妞
4吧++y是,先把y的值+1,再使用...你給的**並沒有其它地方修改其值的
7樓:文維眭仙
x=y=3;首先3賦值給x和y,x=3;y=3然後t=++x||++y;這個語句要理解||這個的含義例如:a||b當a為真(不等於0為真)時,這個語句就成立了,不再考慮b的值,也不再處理後面的b
的表示式;所以,t=++x||++y;x=3時候,t=++x(就t=4);++y不用處理的~~
如果:a||b當a為假時候(等於0)就處理b的表示式!!
就這樣:x=3,y=3,t=4;
設,x,y,z,t均為int型變數,則執行一下語句後,t的值為 x=y=z=1; t=++x||++y&&++z; 求詳細解答!
8樓:
x=y=z=1; \\執行後x,y,z的值都為1
然後執行++x,以為||符號左邊成立(為真)的話就不執行右邊的,即(++y&&++z)不執行,所以最後的結果是
x=2y=1
z=1t=1 //t記錄的只是t=++x||++y&&++z的結果,只能是1或0,以為比較成立(++x為真),所以為1
樓上的不要誤導人。
9樓:匿名使用者
x=y=z=1; \\執行後x,y,z的值都為1
t=++x||++y&&++z;
\\如果按優先順序加上括號就是(++x) || ( (++y) && (++z) );
\\先算++x,++y,++z 結果表示式將變成 2 || (2 && 2)
\\後面就不用再說了吧 結果一定是
t=1x=2
y=2z=2
設x y z和k都是int型變數,則執行表示式 x y 4,z 16,k 32 後,x的值為
墨汁諾 c。x 32 右邊是一個表示式,逗號運算,從左到右計算每個量,整個表示式的值為最後一個式子 k 32 的值32,將32賦值給x。所以x的值為32。或 從左向右依次求解表示式1 表示式2.整個逗號表示式的值是最後一個表示式的值。比如,a 1 3,2 8,6 10,5 2 的結果是 a 7。賦值...
1 設以下變數均為int型別,則值不等於五的表示式
逗號表示式的值取決於最後一個表示式 ay 4 y 4 y 1 只是計算,並沒賦值,所以y 4x y x 4,y 4 x 1 只是計算,並沒賦值,所以x 4,y 4,但x 1的值 為5,故最終值為5 bx 4 x 4 x 1 x 4 y x y 4,x 5,因為 放後面,表示增1操作在表示式執行後進行...
若a是int型變數,且a的初值為12,則執行表示式a a a a後a的值是
這個 是從右往左算的 首先算 a a 值為 144 然後算 a 144 這個表示式為 a a 144 所以 a 值為 132 最後算 a 132 這個表示式為 a a 132 結果為 264 既 a 的最終值為 264 表示式的值 264 a a 144 a 144即a a 144 結果是 132 ...