“Lvalue required”在C编译器错误中意味着什么?

#include //line 1 #include //line 2 void main() //line 3 { //line 4 int a=6,g=7,b=3; //line 5 clrscr(); //line 6 printf("%d",a>?g=a:g=b); //line 7 getch(); //line 8 } 

案例1:保存文件之前

这将在第7行“需要左值”时给出错误。 但是当我编译时没有错误会在运行之后出现,它会产生输出3。

案例2:保存文件后

当我们保存此文件时,我们会收到错误“Lvalue required”。

对不起我的错误并在这里写问题

  #include //line 1 #include //line 2 void main() //line 3 { //line 4 int a=6,g=7,b=3; //line 5 clrscr(); //line 6 printf("%d",a>b?g=a:g=b); //line 7** getch(); //line 8 } 

案例1:保存文件之前

这将在第7行“需要左值”时给出错误。 但是当我编译时没有错误会在运行之后出现,它会产生输出3。

案例2:保存文件后

当我们保存此文件时,我们会收到错误“Lvalue required”。

“Lvalue required”表示您无法为内存中没有位置的内容分配值。 基本上你需要一个变量才能分配一个值。

在你的特定情况下,我会删除a>g=a:g=b并用更易于理解的东西替换它,因为在当前状态下,没有人(包括你和你的编译器)有任何想法应该是什么。

这:printf(“%d”,a> g = a:g = b); 没有意义。 我不知道你是否想要在其中制定一个你不应该做的条件,特别是对于这么简单的事情。

您应该阅读printf如何工作,因为您不了解需要的东西是这样的:

 int a = 1; printf("%d",a); 

或者你打算使用其他东西,但我从未见过像你之前做过的语法a> g = a:g = b。

    Interesting Posts