我该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()'。 –