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 高中 數學 函式 題目和答案都在這了,我看不懂.求詳細通俗的解釋,謝謝 函式對映...