Le type de tableau char[] n'est pas assignable [dupliquer]

Cette question a déjà une réponse ici:

et Bien voici mon premier post. J'ai essayé de faire ce choix en choisissant la chose et je veux que l'utilisateur choisisse seulement des nombres au lieu de les taper vers le bas (plus facile) mais quand je veux que les nombres égalent une chaîne, il est dit " type de tableau char[30] n'est pas cessible". Même si à l'arrière je mets semi-côlon ou pas.

#include <stdio.h>

int main() {
  int choice1;
  char word[30];

  printf("You have three choice.n");
  printf("[1] Jump [2] Run [3] Dancen");
  scanf("%d",&choice1);
  if (choice1 == 1)
  {
    word = "Jump" //Error #1
  }
  else if (choice1 == 2)
  {
    word = "Eat" //Error #2
  }
  else if (choice1 == 3)
  {
    word = "Sleep"; //Error #3
  }

  printf("You will now be %sing",word);

}
15
demandé sur Sourav Ghosh 2015-08-31 17:03:03

4 réponses

Vous ne pouvez pas assign pour un tableau, seulement copier.

Utiliser strcpy à la place, comme

strcpy(word, "Jump");
17
répondu Some programmer dude 2015-08-31 14:05:22

TL;DR réponse : Un tableau nom modifiable lvalue. Donc, vous ne pouvez pas utiliser l'opérateur d'affectation (=).

Pour copier le contenu dans le tableau, vous devez utiliser strcpy()