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...