La expresión debe ser un valor L modificable

1 minuto de lectura

avatar de usuario
misterios

Tengo aquí char text[60];

Entonces lo hago en un if:

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

y siempre decía expresión debe ser un valor L modificable.

avatar de usuario
MByD

lvalue significa “valor izquierdo”; debe ser asignable. No puede cambiar el valor de text ya que es una matriz, no un puntero.

Declararlo como char pointer (en este caso es mejor declararlo como const char*):

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

O usa strcpy:

char text[60];
if(number == 2) 
    strcpy(text, "awesome"); 
else 
    strcpy(text, "you fail");

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad