L'Expression doit être une valeur l modifiable

j'ai ici char text[60];

Puis-je faire dans un if:

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

et il a toujours dit l'expression doit être une valeur l modifiable.

23
demandé sur emlai 2011-05-15 17:41:43

1 réponses

vous ne pouvez pas changer la valeur de text puisque c'est un tableau, pas un pointeur.

soit le déclarer comme pointeur de char (dans ce cas, il est préférable de le déclarer comme const char*):

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

Ou utiliser la fonction strcpy:

char text[60];
if(number == 2) 
    strcpy(text, "awesome"); 
else 
    strcpy(text, "you fail");
34
répondu MByD 2011-05-15 13:45:33