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即使素數,大於等於包含等於,所以可以這...