PDA

View Full Version : [C] Come mai non compila?


VegetaSSJ5
06-11-2004, 14:42
Ragazzi scusate per questa domanda demenziale, eppure è qui che sto incontrando dei problemi... Cos'è sbagliato nel codice seguente??#include <stdio.h>
#include <stdlib.h>

char vettore[3][10];


int main () {
vettore[1]="Ciao";
printf("%s", vettore[1]);
system("PAUSE");
}

anx721
06-11-2004, 14:48
vettore[1] è un array di char, e un array di char è un puntatore a char non riassegnabile, è un puntatore costante come tutti gli array (in quanto la semplice dichiarazione di un array provoca la allocazione (statica) della memoria necessaria a contenere l'array).

se vuoi riassegnare dichiara:

char *vettore[3];

heroth
06-11-2004, 15:02
usa strcpy(...), se vuoi scrivere la stringa "Ciao" nel vettore di char puntato da vettore[1]

Fenomeno85
06-11-2004, 17:50
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main () {
char vettore[3][10];
strcpy (vettore[0], "Ciao");
puts (vettore[0]);
system("PAUSE");
}


~§~ Sempre E Solo Lei ~§~