gpt4 book ai didi

c - 错误 : expression must be a modifiable lvalue (tal * tal)

转载 作者:太空宇宙 更新时间:2023-11-04 07:15:11 25 4
gpt4 key购买 nike

所以这是我的问题:

#include "stdafx.h"

int kvad(int tal) {
int sum;
tal * tal = sum; /* The left "tal" has the error: Expression must be a modifiable lvalue*/
return sum;
}

int kub(int alt) {
int pro;
alt * alt * alt = pro; /* The left "alt" has the error: Expression must be a modifiable lvalue*/
return pro;
}

int _tmain(int argc, _TCHAR* argv[])
{
int ggr, gda, tre, tva;
printf("Hur många tal att multiplicera: ");
scanf_s("%d", ggr);
printf("\n i i * i i * i * i\n=== ======= ===========\n");
for (gda = 1; gda <= ggr; gda++) {
tva = kvad(gda);
tre = kub(gda);
printf("%2d%6d%10d\n", gda, tva, tre);
}
return 0;
}

我不知道是否需要最后一部分,但我不确定所以我还是包含了它。

我知道还有其他线程有类似的问题,但我在那里找不到解决方案。

最佳答案

左值 是一个可以赋值的值,通常是一个变量。相比之下,rvalue 是一个不能赋值的值。名称来源于这样一种趋势,即 lvalue 倾向于出现在赋值的左侧,而 rvalue 倾向于出现在赋值的右侧。在您的代码中,您有:

tal * tal = sum;

这是一个错误,因为 tal * tal 产生了一个无法赋值的值。表达式产生一个数字,但这与变量不同,因为将一个数字分配给另一个数字没有意义。这就像说 5 = variable

还要记住赋值是不可交换的。也就是说,tal * tal = sum 不等同于 sum = tal * tal= 左边的名称将被赋予右边的值,因此左边的名称必须始终是可以分配给的东西,即 左值

关于c - 错误 : expression must be a modifiable lvalue (tal * tal),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25512021/

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