C語言,答案看不懂,我怎麼解出來的答案是A

時間 2021-10-14 22:40:07

1樓:匿名使用者

第一次迴圈後:

a=-1,b=1

第二次迴圈後:

a=0,b=2

此時注意,在進行第三次迴圈判斷時,由於a++的作用,參與迴圈條件判斷的量是a現在的值,即0,取值之後,a值增1變成1。由於取a值0參與條件判斷致使a++!=0不再成立,所以在短路求值規則的作用下,後面的++b不再執行,而是直接使條件判斷表示式返回0從而結束while迴圈,因此:

最終情況是:

a=1,b=2

故選 d

2樓:匿名使用者

while語句中,條件為假時,跳出迴圈。條件為真時,一直執行迴圈體語句。

邏輯與(&&)運算子,當且僅當左側運算子物件為真時才對右側運算物件求值。

遞增運算子(++)

前置版本,首先將物件加1,然後將改變後的物件作為求值結果。

後置版本,仍會將物件加1.(但求值結果是運算物件改變之前那個值的副本)

int i=0,j;

j=++i;   //j=1,i=1  前置版本得到遞增後的值

j=i++;   //j=1,i=2  後置版本得到遞增之前的值

在此題中,條件表示式(a++&&++b)判斷了三次後,跳出迴圈。

假設j=a++,k=++b

第一次判斷(a=-2,b=0):j=-2,a=-1,邏輯與左側為真;判斷右側,k=1,b=1。條件為真

第二次判斷(a=-1,b=1):j=-1,a=0,&&左側為真,判斷右側,k=2,b=2。條件為真

第三次判斷(a=0,b=2):j=0,a=1,&&左側為假,不用判斷右側,直接條件為假,跳出迴圈。

故而,最後輸出時,a=1,b=2。選d

3樓:喵不語

當a=0,b=2時,再執行while迴圈,這時退出迴圈但是已經執行a++了,,a當然由0變為1啊!

c語言 看不懂答案怎麼來的

4樓:

1.首先先給你算下優先順序的問題

第一個等於 ++a||(++b&&++c)第二個等於 (++a&&++b)||++c第三個等於 ++a&&(++b&&++c)第四個等於 (++a&&++b)||++c第五個等於 ++a||(++b&&++c)第六個等於 ++a&&(++b&&++c)都是自左向右結合運算,這個知道吧。

2.然後是邏輯運算本身問題

&&運算,如果左邊 的為0,那麼整個值為0,就不需要再換算右邊了。但如果是1,那麼依然要看右邊是否為0.為0則整個為0,否則為1.(抓到0就是0)

||運算 如果左邊為1,那麼整個值為1.就不需要再換算左邊了。但如果是0,那麼依然要看右邊是否為1。為1整個為1,否則為0.(抓到1就是1)

3.現在再用這個思路來算,全部明朗了吧。

5樓:匿名使用者

編譯器原因,編譯原理。

因為++a先滿足了,所以或條件一定滿足,後邊就不去算了,我是這麼理解的。

話說這書好眼熟,高等教育出版社的?

6樓:燕返

樓主是都看不懂還是怎麼的?

問題可不可以清楚一點?這樣也好解答一些嘛。

c語言程式設計題,我怎麼看不懂題目呀,那個a[3]可以這麼定義嗎?

7樓:匿名使用者

c語言結構體的語法:

struct 結構體標籤(可選的,也就是可以沒有)變數列表(可選的) ;

比如:struct student stud1;

struct student ;

struct ;

...觀察你的題目:

struct a[3]=;

1. a[3]是一個結構體的陣列

2. 陣列初始化為:

a[0].a=1

a[0].b=2

a[1].a=3

a[1].b=4

a[2].a=5

a[2].b=6

那這題的答案是什麼呢? 自己算吧^_^。

8樓:匿名使用者

選a;a[3]定義的是個結構體陣列,每個結構體有兩個變數a和b

9樓:鈽祗鈽觖

可以。這定義的是結構體陣列a

c語言選擇題,看不懂答案。求解釋

10樓:home奶茶溫泉

函式由函式首部與函式體

函式首部包括 函式型別 函式名

引數型別 引數名 函式屬性

你這個首部變數是一個double陣列變數,形參的型別要和實參儘量相一致,mian函式裡fun函式的引數是a,定義為a,那是一個陣列所以d錯 d的形參是一個double型變數

11樓:匿名使用者

這個是函式呼叫的知識;

陣列做實參,形參為陣列或者指標,其中,若是一位陣列,陣列的大小可以省略,二維陣列第一個下標可以省略,第二個不可以;

從上面可以看出,只有d不滿足調件;

函式首部我想是:被呼叫函式的開頭,就像main函式是開頭一樣

12樓:匿名使用者

正確答案是d;

首先返回資料型別是k,是double型別,由於所有選項都是double,沒有錯誤,繼續

然後fun函式實參是a,而a是double型別a[15]的首地址,也就是指標型別,因而d是錯誤的定義

13樓:牆角哋落寞

首部就是開頭,因為你main函式中呼叫fun時實參是a即為陣列名,也可以說是一個地址。d答案中的形參為實型變數,與實參的型別不同

14樓:匿名使用者

這個只是定義變數,不代表陣列。

C語言看不懂答案怎麼來的,C語言,答案看不懂,我怎麼解出來的答案是A

1.首先先給你算下優先順序的問題 第一個等於 a b c 第二個等於 a b c第三個等於 a b c 第四個等於 a b c第五個等於 a b c 第六個等於 a b c 都是自左向右結合運算,這個知道吧。2.然後是邏輯運算本身問題 運算,如果左邊 的為0,那麼整個值為0,就不需要再換算右邊了。但...

怎麼學習C語言啊。我怎麼看就是看不懂函式。。是什麼原因啊

建議你去買一本譚浩強的c語言程式設計來看看,反覆看幾遍,第一遍可不比去深究他,以後再循序漸進,函式從最簡單的字串處理函式開始,函式嘛,他有引數,返回值,其中你應該了解的是他們的型別是什麼,把最基本的變數型別以及某些演變的型別 實際上就是基本型別,只是表達形式變了而已,沒那麼恐怖 對了。英語相當重要。...

數學高中題目例題看不懂,這是怎麼算出來的?求詳細解釋

sn 已知 sn 1 可以計算出來,就是將上式n替換為n 1 兩者相減就得 sn 2n 1 則s n 1 n 1 2 n 1 1 n 2n 1 2n 2 1 n 4n 2 所以an n 2n 1 n 4n 2 2n 3 高中 數學 函式 題目和答案都在這了,我看不懂.求詳細通俗的解釋,謝謝 函式對映...