我該C遞歸函數你能幫我找到這個C遞歸函數的邏輯錯誤嗎?
#include<stdio.h>
int main(){
int entier;
int rlt;
printf("\nSaisir un entier : ");
scanf("%d",&entier);
rlt=loga(5);
printf("Le logarithme base 2 de %d est %d:",entier,rlt);
}
int loga(int x){
if(x==1){
return 0;
}
else {
return (loga(x)=1+loga(x/2));
}
}
你聽起來好像遞歸函數是某種疾病。 – jogojapan
將文本翻譯成英文也不錯。雖然我們都愛說法語,但有些人不會。 – 2013-01-01 12:03:55
歡迎來到堆棧溢出。忽略那些除了英語之外什麼都不會讀的沙文主義者。問題應該是英文; AFAIAC,代碼不一定是。但是,你的問題應該確定問題是什麼。例如,它應該顯示來自編譯器的錯誤消息,抱怨loga()中第二個'return'語句中的問題。由於您使用C99功能從'main()'返回0,所以在使用它之前,您還應該遵循C99規則並聲明'loga()'。 –