高手給我說說這個C語言問題吧

時間 2022-03-08 14:45:02

1樓:du小蝦

#include

int add(int a)

void main()

printf("%f\n",m);}

2樓:匿名使用者

遞迴呼叫,必須有兩個條件

一個是結束遞迴的條件,一個是遞迴的方式

你的程式只有遞迴的方式,也就是q+=add(i);,但是沒有遞迴的結束條件

在前面加上一句

if(a==1)

return 1;

就可以了

int add(int a)

3樓:

遞迴函式錯誤

改成:int add(int a)

另外真不建議這種求和還用遞迴和for迴圈。。。。。。。。

4樓:

int add(int a)

5樓:匿名使用者

你是想幹嘛啊?還用遞迴,卻沒有出口,add會一直停留在add(1)上,add(1)呼叫add(1),add(1)再呼叫add(1)、、、

你在add(a)中再次呼叫add的時候,不要總是add(i),而是應該變化下i的值,例如可以改成add(i-1),這樣add的遞迴就會向著出口前進,深度就有限了。

至於你到底寫的什麼東西,表示沒有看懂,這裡只讓你的程式可以執行

6樓:匿名使用者

q+=add(i);

錯誤導致死迴圈了!!

int m;

m=add(i);

q+=m;

7樓:異世血

是不是 q+=add(i);寫錯了, 改為q+=i;

8樓:匿名使用者

q+=add(i);

遞迴呼叫了吧, 應該是q+=i 吧?

c語言問題求高手解答,C語言問題求高手解答

幫你寫好了,這裡幫你編譯執行了,沒任何問題,不放心的話你自己試試struct staff int main void if head null puts 沒有任何資料,抱歉!else current head while current null current head while current...

c語言問題高手請進,C語言的幾個問題,請高手指教

分類 電腦 網路 程式設計 其他程式語言。問題描述 1.在c語言中,char型資料在記憶體中的儲存形式是 a 補碼 b 反碼 c 原碼 d ascii碼。答案是d,但是在某些資料中說到 資料在記憶體中是以補碼形式存放的 這使我有些迷惑不解,請各位不吝指教。2.表示式18 2 sqrt 的資料型別為 ...

c語言問題,求高手指教,一個C語言問題,求高手指教!

典型的求素數的 這是等於是可能的 如果不是素數,那麼k不等到i就break跳出迴圈了,這個你明白 所以k小雨i的時候就不是素數 如果是素數,那麼k會迴圈到i,這個是for的機制得出的。那麼k和i相等 所以判斷是否是素數的條件就是判斷k和i是否相等 只要k不大於i即使素數,大於等於包含等於,所以可以這...