c 問題 看得頭痛了

2023-05-22 06:05:02 字數 2282 閱讀 6645

1樓:

這應該是乙個用函式遞迴呼叫的題吧,我給你舉個例子來說明吧,比如輸入的數是3,執行到if (a > 1) return (a * 3>1,所以就返回3*factorial (2),而factorial (2)不知道,還是要回到long factorial (long a)這個函式,又執行if (a > 1) return (a * 這時的a等於2了,2>1,所以factorial (2)=2*factorial(1),在求factorial(1)時,執行到if (a > 1) return (a * 時,1不》1了,執行下一句else return (1); 也就是factorial(1)的值就等於1了,factorial (2)=2*factorial(1)=2,factorial (3)=3*factorial(2)=6,所以最後的結果就是3*2*1=6,最後會輸出!3=6。

其實函式的遞迴呼叫說白了就是乙個函式自己呼叫自己,也就是用自己的返回值,做自己的實參,多看些這樣的程式就應該會明白了,打了那麼多字,多給點分唄,呵呵。

2樓:萊旭宇

這是遞規!.比較形象的例子就是剝洋蔥。

現在我們有乙個方法叫「剝洋蔥」,他需要乙個引數「洋蔥」

我們先把剛買來的洋蔥a拿來「剝洋蔥」,剝了一層還沒剝完,於是,我們把剝了一層的洋蔥a-1拿來繼續「剝洋蔥」..一直剝到剝完了,就把洋蔥心返回出來,一層層返回,經過n層洋蔥皮,我們終於得到了洋蔥心。

寫成**就是。

洋蔥心 剝洋蔥(洋蔥) else

3樓:悔格拉

是遞迴!他的意思是a*(a-1)*(a-2)*.1

4樓:匿名使用者

這是乙個遞迴函式,就是當a>1時,在呼叫函式本身。

5樓:網友

設定乙個變數 long x;

x= a * factorial (a-1);

return (a * factorial (a-1));就是返回x 的值;

如此遞迴迴圈! (迴圈一次 a就減1 一次而已)直到a= 1;迴圈結束。

6樓:桃花依舊笑冬風

函式的遞迴呼叫(即函式呼叫自已本身)。

舉個例: 設long a=4

if (a > 1) return (a * factorial (a-1));

由於4>1成立,返回4*factorial (3)由於3>1成立,返回4*3*factorial (2)由於2>1成立,返回4*3*2*factorial (1)由於1>1不成立,執行else return (1); 返回4*3*2*1

7樓:匿名使用者

就是個遞迴啊。

用筆在紙上畫畫就明白了 return (a * factorial (a-1));這個是最主要的,

8樓:匿名使用者

是乙個遞迴。

說白了~~就是用函式寫的迴圈~

如果a大於1的話~就一直迴圈~~

知道a<=1為止。

9樓:匿名使用者

遞迴呼叫,說白了就是自己呼叫自己。

if (a > 1) return (a * factorial (a-1));

else return (1); factorial (a-1)這句不有是呼叫函式語句麼,只不過是呼叫了自己本身。

c++程式老出問題,真讓我頭痛!!!

10樓:匿名使用者

我也遇到過,而且現在偶爾還要遇到,不知道是什麼原因。不過你直接build別compile遇到這種問題的幾率就會降低很多。

11樓:匿名使用者

以前遇到過,每次都必須ctrl+alt+del然後結束任務才行,再重新開啟最近的workspace,重灌了以後就好了,不知原因^_^

不知道了。。。

保持沉默。

12樓:網友

這個應該是沒有裝vc60_sp6補丁程式。

13樓:匿名使用者

檔案在u盤中,速度慢就會時間長。

好像如何裝了微點也會。。。

頭痛該看什麼科

14樓:丁丁

頭痛的原因可以有很多種,高血壓也可以引起頭痛,具體是不是高血壓引起的,可到醫院做進一步檢查。如果不明確,可以先去神經內科就診。如果明確了是高血壓的問題,那可以去心腦血管科就診,通過**高血壓。

緩解頭痛。供參考。至於預約**的問題,各個醫院規定不同,詳詢醫院**處。

連續性頭痛了好幾天,醫生開了止痛藥也沒效果,會是生什麼病嗎

引起頭痛的的原因有很多,建議查下血壓,血 和頭部ct或核磁共振,高血壓 頸椎病或腦血管病都是引起頭痛的原因。應該看一下神經內科,查個ct,沒問題的話,吃點治神經痛的藥。讓醫生給你調調藥,也許你的體質不適合這種藥!這次病毒 冒特厲害,我不經常病。這幾天身上頭上病。抗不過,才吃南極雪兩顆,銀黃膠囊四顆,...

C語言問題,C語言問題

符合,相當於一個字元,ascii字元可以直接轉成short整型數字。101 不符合,這是一個字串,不能作為常數。不符合,因為 會對雙引號轉義,找不到另一個雙引號。會出錯。而且就算是 也不符合,因為編譯器會把它理解成一個字串,而非單個字元。e3不符合。019不符合,0開頭代表8進位制數,不能出現9。0...

c簡單問題,C 簡單問題

答 int itemid 這個變數是私有的,只能內部呼叫。public int itemid 這個公開的變數。可以從外部呼叫 表示對私有變數進行獲取 set 表示對私有變數賦值。這麼做,是為了更方面維護 int itemid public int itemid set 這裡面中,int itemid...