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...