gpt4 book ai didi

c - 为什么它会抛出错误 lvalue is required?

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

#include<stdio.h>
int main(){
int i=0,j=1;
printf("%d",++(i+j));
return 0;
}

在这段代码中,我使用了增量运算符,但我不知道为什么它会抛出错误。

它抛出错误:

lvalue is required.

最佳答案

您正在尝试增加未分配给变量的整数值。

根据您的代码,计算机大约会尝试执行以下操作:

printf("%d",++(i+j));

// expanded step 1
printf("%d",++(0+1));

// expanded step 2
printf("%d",++(1));

正如您在上一个版本中所看到的,您尝试调用 ++1,这是无效的。

为了使用 ++ 递增值,操作数必须具有整型、浮点型或指针类型,并且必须是可修改的左值表达式(不带 const 属性的表达式):

int x = i+j;
printf("%d",++x);

或者,您可以使用加法运算符:

printf("%d",i+j+1);

关于c - 为什么它会抛出错误 lvalue is required?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45946957/

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