web-dev-qa-db-ja.com

式は変更可能なL値でなければなりません

ここにありますchar text[60];

次に、ifで実行します。

if(number == 2)
  text = "awesome";
else
  text = "you fail";

そして、常に言っていました式は変更可能なL値でなければなりません。

28
Mysterigs

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");
36
MByD