看下這個程式,輸出結果是什麼,詳細解釋下

2021-04-12 07:19:57 字數 768 閱讀 9572

1樓:llj借我一生

首先執行main方法,main方法是程式的入口,在main方法中逐條執行語句或方法,

首先執行的是count(1),因為count(int n)是static修飾的,所以可以在static修飾的main方法中直接呼叫,

再執行if語句塊,知道判斷的條件滿足後結束if()語句塊,在count()方法的引數傳的是1,所以1即n小於10,執行方法的遞迴呼叫n+1;列印n;依次判斷。

當if條件n>10時,就會結束方法

2樓:犯困了

你把程式看看,我簡寫下:

main()

print(" " + 3)

}print(" " + 2)

}print(" " + 1)

}println()

}然後程式從上到下執行

3樓:匿名使用者

這是遞迴,也就是說

static void count(int n) 《====

在沒有執行system.out.print(" "+n);的時候又進行了count(n+1);一次接一次的執行

只要n>10了才開始執行第一次的system.out.print(" "+n);,然後一次次的返回

看看遞迴就ok了

4樓:匿名使用者

這是遞迴呼叫,呼叫時是count(1)count(2)……以此類推,但輸出時是遞推方式(即10、9、8、7……),所以是這結果。建議去看看遞迴。

下面程式的執行結果是,下面程式的輸出結果是什麼?

首先這裡的for迴圈沒有打 號括起 來,所以他只是迴圈緊跟著下面的一句 也就是這句,s 10 s ch i 0 這裡的整形運算加字元還是整形 i 0,s 0,for第一次迴圈 ch 0 1 滿足for迴圈條件,s 10 s ch i 0 所以s 10 0 1 0,s的結果為1,再運算 i 2 所以i...

以下程式的輸出結果是mainint a,b,c int s,w,t s w t 0 a 1,b 3,c

程式最後的輸出語句有誤,其一,三個 d連在一起寫而中間沒有空位,會導致輸出連到一起 其二要輸出值的變數要寫在雙引號外面,寫到雙引號裡面會照 原樣輸出字母而不是變數的值。如下修改後會輸出 2 0 0 main else if c 0 w a b else t c printf d d d s,w,t ...

下列程式段的輸出結果是void fun int

選c啦fun y,x 把y的地址傳遞給x,把x的地址傳遞給y,即執行到printf d d x,y 時x 2,y 1 然後 x 3 y 4 給x,y賦值,但是x,y在網下傳時,想,y的值是交換了的 即fun y,x 把y的地址傳遞給x,把x的地址傳遞給y 所以執行到x 3 y 4 時其實主函式中的x...