37

私はここにいますchar text[60];

次に、次のようにしますif

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

そして、式は変更可能な L 値でなければならないと常に述べていました。

4

1 に答える 1

54

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");
于 2011-05-15T13:45:33.337 に答える