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.三目運算子就可求得 程式 如下 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... 其實他是有不同的,就是?後面應該是表示式,而不是可執行語句,是有返回值的,他適用於給同乙個變數賦不同的值,如果你的那個程式是這樣的。x f x1 f x 0 x1 x2 那麼這個程式就是可以的,但是你這個?後面的 裡面卻是賦值語句,所以產生了錯誤!你這個是給不同的變數賦相同的值 你看我這麼說對嗎?你... 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 ...c語言一道題,C語言一道題
一道C語言的題,一道c語言題
一道c語言程式設計題,一道C語言程式設計題。