【发布时间】:2021-05-08 05:25:11
【问题描述】:
gdb 编译器在下面的代码中显示错误。为什么会发生错误以及如何解决。
#include <stdio.h>
int s(int n);
int main(){
int n;
printf("enter a number");
scanf("%d",&n);
printf("%d",s(n));
return 0;
}
int s(int n){
s(1) = 1; //error: lvalue required as left operand of assignment
s(2) = 1; //error: lvalue required as left operand of assignment
s(n) = s(n-1) + s(n-2); //error: lvalue required as left operand of assignment
return s(n);
}
【问题讨论】:
-
你的代码是假的。您可以通过 C 函数READ 结果RETURNED。你不能给一个函数赋值TO!
-
gdb是 调试器 而不是编译器。gcc是编译器前端程序,人们通常调用它来构建(编译和链接)。
标签: c recursion compiler-errors fibonacci