gpt4 book ai didi

c - 错误: "lvalue required as left operand of assignment"

转载 作者:行者123 更新时间:2023-11-30 16:20:41 25 4
gpt4 key购买 nike

void main()
{
int sum=0;
printf("%d",add(sum));
}

int add(int x)
{
(x<=100) ? x=x+add(x+1) : x=0;
return x;
}

在函数中,我尝试使用递归打印前 100 个自然数的总和。但是我收到错误“需要左值作为赋值的左操作数”。谁能帮我解决这个错误并解释其背后的概念?

最佳答案

由于您始终设置 x,因此请将 x 放在左侧。所以而不是

(x<=100) ? x=x+add(x+1) : x=0;

使用

x = (x <= 100) ? x + add(x + 1) : 0;

或者,由于您要立即返回它,您可能会立即返回它:

return (x <= 100) ? x + add(x + 1) : 0;
<小时/>

该表达式中的 () 也是不必要的:

x = x <= 100 ? x + add(x + 1) : 0;
// or
return x <= 100 ? x + add(x + 1) : 0;

关于c - 错误: "lvalue required as left operand of assignment",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55210555/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com