一道c語言的題設inta1,b2,c3,d4則

2021-03-04 08:38:56 字數 1353 閱讀 8812

1樓:匿名使用者

剛剛錯了!

自右往左:

先算a++=2

2,2為真取值為a,為假取值為(c就是假,取(c

然後就是c

2樓:

上式相當於a++括號裡面的,明顯c=3,d=4,所以c顯為真且a++,則a=1,故最終結果的值為1。

以上僅供參考

3樓:匿名使用者

最好去自己程式設計除錯就ok了,除錯的每步都可以檢視每個變數的結果

c語言環境中,設a=1,b=2,c=3,d=4,則表示式:a>b?a:c>d?a:d的結果為( )

4樓:lovefree隨風

表示式:a>b?a:c>d?a:d的結果為4。

解析:1、由於c語言的相同優先順序運算子運算規則為從左至右依次運算,而條件運算子具有右結合性,所以表示式:a>b?

a:c>d?a:

d優先運算c>d?a:d,得出的結果為4;

2、再運輸a>b?a:4,得出的結果為4。

所以最終得出的結果為4。

擴充套件資料表示式為:表示式1?表示式2:表示式3

先求解表示式1,

若其值為真(非0)則將表示式2的值作為整個表示式的取值,否則(表示式1的值為0)將表示式3的值作為整個表示式的取值。

例如:1、max=(a>b)?a:b,就是將a和b二者中較大的乙個賦給max。

2、min=(a條件運算子具有右結合性

當乙個表示式中出現多個條件運算子時,應該將位於最右邊的問號與離它最近的冒號配對,並按這一原則正確區分各條件運算子的運算物件。例如:

5樓:匿名使用者

結果是4,一會寫出過程

「?:" 這是乙個三目運算子,以 「c>d?a:

d」這個**為例,程式會首先判斷「c>d」是否為真,若為真則執行冒號前的語句,即其結果為」a「的值;若為假,則執行冒號後的語句,即其值為"d"的值。

一般遇到這樣的題要拆分著做,首先判斷最左邊的「a>b」,這個結果為假,根據條件判斷運算子的性質,所以接下來執行第乙個冒號後的語句「c>d?a:d」,接著判斷「c>d」,結果為假,所以最終取值為第二個冒號後的值,即為d的值,也就是4。

6樓:匿名使用者

答案為4,「a?b:c」是從右向左執行的,也就是說a為真的話,這個式子就可以看做b,否則可以看做c;c大於d麼,不是,則變成了a>b?

a:d,a大於b麼,不是,則為d,d=4.

7樓:匿名使用者

答案是4.三目運算子就可求得

c語言一道題,C語言一道題

程式 如下 include int main printf n printf 總和為 d n sum return 0 include void main 教材上面應該有這個啊 include long fun int a,int n int j long s 0,t 0 for j 0 j n j...

一道C語言的題,一道c語言題

其實他是有不同的,就是?後面應該是表示式,而不是可執行語句,是有返回值的,他適用於給同乙個變數賦不同的值,如果你的那個程式是這樣的。x f x1 f x 0 x1 x2 那麼這個程式就是可以的,但是你這個?後面的 裡面卻是賦值語句,所以產生了錯誤!你這個是給不同的變數賦相同的值 你看我這麼說對嗎?你...

一道c語言程式設計題,一道C語言程式設計題。

include delete all n in array a void fun int a,int n,int odd,int even int main void int odd,even fun a,6,odd,even printf d d n odd,even return 0 void ...