表达式必须是可修改的 L 值
我这里有 char text[60];
然后我在 if
: 中执行:
if(number == 2)
text = "awesome";
else
text = "you fail";
它总是说表达式必须是可修改的 L 值。
I have here char text[60];
Then I do in an if
:
if(number == 2)
text = "awesome";
else
text = "you fail";
and it always said expression must be a modifiable L-value.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
lvalue
表示“左值”——它应该是可赋值的。您无法更改text
的值,因为它是一个数组,而不是指针。要么将其声明为 char 指针(在这种情况下最好将其声明为 const char* ):
或者使用 strcpy:
lvalue
means "left value" -- it should be assignable. You cannot change the value oftext
since it is an array, not a pointer.Either declare it as char pointer (in this case it's better to declare it as
const char*
):Or use strcpy: