c語言程式設計問題,大神來解答,C語言程式設計問題,大神來解答

2021-12-28 09:22:45 字數 870 閱讀 8309

1樓:賢者的禁斷

一個為5,一個為12。

然後,第一個判斷在開始就為假,不繼續判斷,後面的式子不進行運算,d值不變。

第二個,開始為真,繼續向後判斷,後面的式子進運算,d=5+7=12。

2樓:匿名使用者

你的提問有錯誤,應該是問:

為什麼d的值一個為5,一個為12?為什麼不相同呢?

答:因為進行邏輯與運算 (a=b>c) && (d=d+e) 時,如果 (a=b>c) 為假,就不會運算 (d=d+e) 了。

所以在第一個程式中 b=2, c=3 ,顯然 b > c 不成立,因而 (d=d+e) 沒有被運算,d=5 的值就不會變。

第二個程式中 b=3, c=2 ,顯然 b > c 成立,繼續運算 (d=d+e) ,d=5, e=7,d=5+7=12。

3樓:煙火夜空

首先,d 的值 分別是 5 跟12,不是 5 跟7;

下面開始解釋:

題目 的不同點 是 ①b=2,c=3;②b=3,c=2;該不同點 在 m 值 的運算中,將直接導致 a 值的不同;

②題比較好理解,a=b>c→a=3>2,條件成立,a=1;d=d+e=12;m=a && d,a(1)、d(12)值都為真,m=1;所以 ②的列印是 :1,3,2,12,7,1;

① 中,a=b>c→a=2>3,條件不成立,a=0;(到此後開始麻煩),邏輯與(&&)運算中,先進行左邊(a=b>c)的運算,如果左邊結果為真,就繼續算右邊的結果。但如果左邊的結果為 假,那麼右邊的結果將不影響 整個 與運算 結果,於是 就不在 執行 右邊的運算。於是乎,①中 a=0,m 直接=0,不執行 d=d+e,所以 d 不變,結果列印 :

0,2,3,5,7,0

求c語言程式設計解答,求C語言程式設計解答

第一題 include stdio.h int main 第二題 include stdio.h int main fibonaci 0 1 fibonaci 1 1 for int i 2 i 20 i fibonaci i fibonaci i 1 fibonaci i 2 for int i ...

c語言程式設計問題,C語言程式設計問題

c 可以嗎?如果過可以,一會就給你寫完了 c語言程式設計問題 print 請輸入圓的半徑 改為 printf 請輸入圓的半徑 s p r r沒有分號,注意是英文的分號,不是中文的。printf 圓的面積為 把中文分號改成英文分號 printf 圓的面積為 這句的分號好像是中文符號的分號,不知是不是這...

C語言程式設計出錯問題,C語言程式設計問題

大概看了一下 有幾個錯誤 有問題 if.else.語句結構為 if 條件1 語句1 else 語句2 或者if.else.語句結構為 if 條件1 else if else竟然用塊就把前面的一起包含進去if a 0 把分號去掉 可以去掉你所說的錯誤 其他這個程式只能計算整型的2次函式,我就不幫你改了...