執行下面的程式段後,a和b的值分別為?inta3,b

2021-03-04 08:50:03 字數 3103 閱讀 4095

1樓:匿名使用者

針對於本程式而言 首先進行b-1=4 然後進行判斷 a>4 顯然為假 則輸出b--

此時的b--=4,即輸出a和b的值均是4 。重要事要分清先++與後++。

2樓:匿名使用者

a=3,b=3, devc++親測

3樓:鄧塵姚珠

3/4=0.75

0.75>1

-->00/2=0

if為假,a=0.

5) 執行以下程式段後、變數a,b,c的值分別是一。 int x=10,y=9; int a,b,c; a =(- -x = = y++)?- -x:++y ; b

4樓:匿名使用者

選: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和k的值分別為() int a=1,b=2,c=3,k; k=a+++b+++c++

5樓:匿名使用者

使用你bai的程式說明c語言du中自增/減運算子的使zhi用如下:

int a=1,b=2,c=3,k;

k=a+++b+++c++;

相當於daok=(a++)+(b++)+(c++),相當於k=a+b+c; a++; b++; c++;先使用原來的值

回運算,然後自增

若是答k=++a+++b+++c;那麼相當於a=a+1;b=b+1;c=c+1;k=a+b+c;變數先自增,然後運算。這是a++與++a的區別,與編譯器有關,感興趣的話可以繼續深入學習。加油!

6樓:匿名使用者

a++、b++、c++都是在運算之後,自增1,分別變成2、3、4

我在visual c++中驗證了一下,如圖:

7樓:匿名使用者

a++是先運算在賦值,及k=1+2+3運算後再將a++,使得a=2,++a為先賦值再運算

你可以k=(a++)+(b++)+(c++)後printf下a,這時a=2

c語言執行以下程式段後變數a的值是:( ) int a=0, b=3;

8樓:匿名使用者

條件a+b&&a++&&b-a&&a是這樣執行的,a+b=3,a++先判斷在自增,判斷為0,自增後為1,因為判斷為0,所以邏輯短路,後面的也就不判斷了

switch裡面是0,所以case 0執行成功,也就是說從case 0後面的語句都要執行,知道遇到break

a++;

case 1:b++;

case 2:a+=b;

也就是這些都有執行

所以是6

選d不懂再問懂請採納

執行以下程式段後,變數x,y,z的值分別為()。 int a=1,b=0, x, y, z; x=(--a==b++)?--a:++b; y=a++; z=b;

9樓:徐臨祥

推薦回答結果是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。

10樓:匿名使用者

結果是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的值分別是( ) 。 int a

11樓:紛採

原本我是這樣想的

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;

c語言設a,b,c為int型變數,且a=3,b=4,c=5,下面表示式值為0的是( )

12樓:科技鳥

d,因為最後的!(....||1)括號內或1,肯定為真,括號外有非,非真即為假。

13樓:匿名使用者

這個沒什麼原因。。你搞清楚涉及到的操作符的優先順序就可以了。

其他沒什麼花樣

14樓:世瀾步凌波

||d:a1

!內c<=>

0a容1

<=>(1&&0)||1

<=>1!((a0

a:'a'&&'b'

<=>97&&98

<=>1

b:a<=b

<=>3<=4

<=>1

c:a||b+c&&b-c

<=>3||9&&(-1)

<=>3||1

<=>1

15樓:匿名使用者

||d:

a1

!zhic <=> 0

adao1 <=> (1&&0)||1 <=> 1!((a0

a:'a'&&'b' <=> 97&&98 <=>1b:a<=b <=> 3<=4 <=>1

c:a||b+c&&b-c <=> 3||9&&(-1) <=> 3||1 <=>1

c語言執行以下程式段後變數a的值是

條件a b a b a a是這樣執行的,a b 3,a 先判斷在自增,判斷為0,自增後為1,因為判斷為0,所以邏輯短路,後面的也就不判斷了 switch裡面是0,所以case 0執行成功,也就是說從case 0後面的語句都要執行,知道遇到break a case 1 b case 2 a b 也就是...

以下程式段執行後,c的二進位制值是int a 2,b 3,c 10 c》a b

a與b按位或,得10b 11b 11b 3 將c右移三位,1010b右移三位得0001b。a b 00000010b 00000011b 00000011b 3d c a b 即c 3,c 10d 00001010bc 1 00000101b c 2 00000010b c 3 00000001b ...

下面的C語言程式在陣列的排序和輸出哪裡錯了呢

最主要的問題是 print函式裡 應該是a i 另外還有其它問題,這種設定的話,要求data.txt中必須有10個數,程式才不會出錯。另外樓上提到的讀檔案的問題,其實樓主並沒有錯,樓主讀檔案的code是正確的 我修改了下 include include define n 100 array size...