2013-09-02 6 views
1

J'ai un projet Uni qui nous oblige à créer un programme Ceaear Cipher et nous devons le faire en C. J'ai appris Java mais pas C et par conséquent j'ai dû apprendre le C en 4 semaines.valeur indicée n'est ni tableau ni pointeur ni vecteur

Quoi qu'il en soit, j'essaie de combiner 2 tableaux char dans la deuxième boucle, puis après ajouter l'alphabet après le mot de code, quand j'essaie de faire cela, il me donne l'erreur que j'ai posté ce sujet comme "valeur indicée n'est ni tableau ni pointeur ni vecteur". Je peux facilement le faire en Java mais C est un peu plus compliqué pour moi.

Existe-t-il un moyen plus simple de le faire ou est-ce qu'il me manque quelque chose ensemble? Toute aide est appréciée.

int main(){ 
    char mainAlphabet; 
    char *mainPointer = &mainAlphabet; 
    char codeWord[20]; 
    char codeAndAlphabet; 
    int i=0; 

    printf("Please enter a code word: "); 
    scanf("%s", &codeWord); 

    for(mainAlphabet=97 ; mainAlphabet<=122 ; mainAlphabet++){ 
    //printf("%c", mainAlphabet); 
    } 
    for(i=0 ; i < sizeof(codeWord); i++){ 
    codeAndAlphabet[i] = codeWord[i]; 
    } 
    printf("%s \n", codeWord); 

    } 

Répondre

0

L'erreur se produit parce que codeAndAlphabet est un char:

char codeAndAlphabet; 

Notez qu'il est juste un seul char, pas un tableau de char ou un pointeur vers char. Donc, maintenant, le côté gauche de:

codeAndAlphabet[i] = codeWord[i] 

est erroné parce qu'il essaie d'utiliser le subscripting (ou indexation) syntaxe [i] avec quelque chose qui n'est pas subscriptable, ce qui est exactement ce que votre message d'erreur du compilateur dit .

Questions connexes