1樓:匿名使用者
先判斷x==y++
先取值 再自加
. 於是是判斷 3==2 不成立. y自加為3.
執行後面一個y++; 先取值, 表示式值內是容3. y自加為4.
b=x++;先取值, b=3, x自加為4.
於是 a=3, b=3
2樓:天枰非官
3 3x==y返回false,y+1.
a=y++,s是3b是3
3樓:匿名使用者
#include
int main()
else
b=x;
x++;
//此時,因為變數c,沒有預先初始化,所以為隨機值。
return 0;}
執行以下程式段後,a= ,b= ,c= 。 int x=10,y=9 ; int a,b,c ; a = (x--=y++) ? x-- : y++ ; b = x++ ; c
4樓:匿名使用者
a=10;
b=9;
c你沒有給出,c=y--或者c=y++,c=11c=x--或者x++,c=10
5樓:匿名使用者
a = (x--=y++) ? x-- : y++ ;這條語句有語法錯誤,=左邊不能是表示式x--
6樓:匿名使用者
自己放在程式裡試試不就知道了,問別人永遠不知道為什麼
執行以下程式段後,變數x,y,z的值分別為()。 int a=1,b=0, x, y, z; x=(--a==b++)?--a:++b; y=a++; z=b;
7樓:徐臨祥
推薦回答結果是x=-1,y=-1,z=1。首先判斷-a=b+,-a的值是0,b+的值也是0,顯然成立。再往下a的值為0,b的值為1,從而z=1。
此時執行-a,a的值變為-1賦給x,x=-1。y=a+:這句a的值先賦給y,y=-1,然後a後置加變為0。
8樓:匿名使用者
結果是x=-1,y=-1,z=1。首先判斷--a==b++,--a的值是0,b++的值也是0,顯然成立。再往下a的值為0,b的值為1,從而z=1。
此時執行--a,a的值變為-1賦給x,x=-1。y=a++:這句a的值先賦給y,y=-1,然後a後置加變為0。
執行以下程式段後,變數a,b,c的值分別是
9樓:匿名使用者
您好,很高興能為您解決問題。
int x = 10, y = 9;
// 宣告變數x = 10, y = 9;
int a, b, c;
// 宣告變數a, b, c
a = (--x == y++) ? --x : ++y;
// if (--x == y++)
// --x;
// else
// ++y;
b = x++;
// 給b賦值為x++
c = y;
// 給c賦值為y
分析:x = 10
y = 9
a = 如果 (--x 等於 y++),則是--x (也就是9,這時x是8),否則是++y (也就是11,這時y是11) // 這裡說一聲, --x指的是給x-1,得到的是x-1;y++指的是給y+1,得到的是y
(條件成立,a = 9)
b = x++ (也就是8,這時x是9)
c = y (也就是11)
10樓:彼岸之戀
++y和y++不一樣,++y是y先自身加一再使用現在的y值,而y++則是先使用y值,而後y值在自身加一
11樓:匿名使用者
a=(--x==y++) --x=x-1=9 y++=y=9此後 x=9,y=10
b=x++=x=9
此後x=10
c=y=10
故a=9,b=9,c=10
5) 執行以下程式段後、變數a,b,c的值分別是一。 int x=10,y=9; int a,b,c; a =(- -x = = y++)?- -x:++y ; b
12樓:匿名使用者
選:bint x = 10, y = 9;
int a, b, c;
a = (--x == y++) ? --x : ++y;
//x先進行 -- 運算,再進行比較
//y先進行比較,再進行 ++ 運算
//同: if(x == y)else
b = x++;
//x先進行賦值,再進行 ++ 運算
//同: b = x;x++;
c = y;
//因為在前面的 a = ( --x == y++), y 已經進行過 ++ 運算了,所以 y 的值已經成為 10 了
執行以下程式段後,a,b,c的值分別是( ) 。 int a
13樓:紛採
原本我是這樣想的
a= (9 == 9)?8:10;
if(8 < 9)
b = 8;
c = 11;
但是現實是
所以是a = (9 ==9)?8:not use;
if( 8 < 9)
b = 8;
c = `10;
執行下面的程式段後,a和b的值分別為? int a=3,b=5,c; c=(a>--b) a++:b--; a、3,2 b、3,3 c、4,4 d、4
14樓:匿名使用者
針對於本程式而言 首先進行b-1=4 然後進行判斷 a>4 顯然為假 則輸出b--
此時的b--=4,即輸出a和b的值均是4 。重要事要分清先++與後++。
15樓:匿名使用者
a=3,b=3, devc++親測
16樓:鄧塵姚珠
3/4=0.75
0.75>1
-->00/2=0
if為假,a=0.
C語言,執行以下程式段後,s的值為statici
你好 抄 答案選a 17。因為在for迴圈襲中,k為0 2 4 6 8,而 a k 是在陣列a內按地址取第k個元素,和變數s進行累加,k 0 2 4 6時,a相應的陣列值為5 7 1 4,而在k 8時,超出了陣列的邊界,所以為0.所以s相加起來為17.希望我的回答能幫助到你 a 17 5 7 1 4...
執行以下程式後,輸出的結果是mainint y 10 do ywhileyprintfd n ,y
選ddo while語句 先執行do裡面的迴圈體,再去判斷while條件是否成立,如果成立,一直執行下去,直到不成立終止迴圈 選d.c語言書上寫有,do 語句 while 表示式 其中語句是迴圈體,先執行後判斷,先執行一次指定的迴圈體語句,然後判別表示式,當表示式的值為非零 真 時,返回重新執行迴圈...
c語言選擇題求助 以下程式段的執行結果是struct
通過for迴圈bai陣列s裡面的四個元素的dua屬性,分別被賦值zhi為了5,7,9,11 printf d p a 相當於1.printf d p a 2.p p 1 而printf d p 1.p p 1 2.printf d p a 這就是dao說這兩步的執內行順序不同。p 剛開始指容向了s ...