我这里有char text[60];
然后我在一个if
:
if(number == 2)
text = "awesome";
else
text = "you fail";
它总是说表达式必须是一个可修改的 L 值。
我这里有char text[60];
然后我在一个if
:
if(number == 2)
text = "awesome";
else
text = "you fail";
它总是说表达式必须是一个可修改的 L 值。
lvalue
意思是“左值”——它应该是可分配的。您不能更改 的值,text
因为它是一个数组,而不是一个指针。
要么将其声明为 char 指针(在这种情况下,最好将其声明为const char*
):
const char *text;
if(number == 2)
text = "awesome";
else
text = "you fail";
或者使用 strcpy:
char text[60];
if(number == 2)
strcpy(text, "awesome");
else
strcpy(text, "you fail");