“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。