Luca
2016-06-06 14:57:11 UTC
Ciao,
sto facendo amicizia con le strutture e i puntatori a queste.
Sotto un programmino di cui ho evidenziato gli errori che non riesco a
capire, specie i primi 2 (che poi sono lo stesso errore).
Grazie mille
#include <stdio.h>
#define MAXS 100
#define MAXA 200
typedef enum {
HOBBY, AUTO, CASA, SPORT
} Categoria;
typedef struct {
Categoria cat;
float prezzo;
char descr[MAXS];
} Annuncio;
typedef struct {
Annuncio ann[MAXA];
int numAnn;
} ArchivioAnn;
int main () {
ArchivioAnn arch;
ArchivioAnn *p;
Annuncio A;
p=&arch;
A.descr="Usato"; //ERRORE
p->ann[0].descr="nuovo"; //Errore
scanf("%s",A.descr); // OK
p->ann[0].cat=AUTO; //OK
scanf("%d",p->ann[0].cat); //warning, ma eseguito restituisce Errore di
Segmentazione
return 0;
}
*Output gcc*
prova1.c: In function ‘main’:
prova1.c:26:9: error: incompatible types when assigning to type
‘char[100]’ from type ‘char *’
A.descr="Usato"; //ERRORE
^
prova1.c:27:17: error: incompatible types when assigning to type
‘char[100]’ from type ‘char *’
p->ann[0].descr="nuovo"; //Errore
^
prova1.c:30:2: warning: format ‘%d’ expects argument of type ‘int *’,
but argument 2 has type ‘unsigned int’ [-Wformat=]
scanf("%d",p->ann[0].cat); //warning, ma eseguito restituisce Errore
di Segmentazione
^
---
Questa e-mail è stata controllata per individuare virus con Avast antivirus.
https://www.avast.com/antivirus
sto facendo amicizia con le strutture e i puntatori a queste.
Sotto un programmino di cui ho evidenziato gli errori che non riesco a
capire, specie i primi 2 (che poi sono lo stesso errore).
Grazie mille
#include <stdio.h>
#define MAXS 100
#define MAXA 200
typedef enum {
HOBBY, AUTO, CASA, SPORT
} Categoria;
typedef struct {
Categoria cat;
float prezzo;
char descr[MAXS];
} Annuncio;
typedef struct {
Annuncio ann[MAXA];
int numAnn;
} ArchivioAnn;
int main () {
ArchivioAnn arch;
ArchivioAnn *p;
Annuncio A;
p=&arch;
A.descr="Usato"; //ERRORE
p->ann[0].descr="nuovo"; //Errore
scanf("%s",A.descr); // OK
p->ann[0].cat=AUTO; //OK
scanf("%d",p->ann[0].cat); //warning, ma eseguito restituisce Errore di
Segmentazione
return 0;
}
*Output gcc*
prova1.c: In function ‘main’:
prova1.c:26:9: error: incompatible types when assigning to type
‘char[100]’ from type ‘char *’
A.descr="Usato"; //ERRORE
^
prova1.c:27:17: error: incompatible types when assigning to type
‘char[100]’ from type ‘char *’
p->ann[0].descr="nuovo"; //Errore
^
prova1.c:30:2: warning: format ‘%d’ expects argument of type ‘int *’,
but argument 2 has type ‘unsigned int’ [-Wformat=]
scanf("%d",p->ann[0].cat); //warning, ma eseguito restituisce Errore
di Segmentazione
^
---
Questa e-mail è stata controllata per individuare virus con Avast antivirus.
https://www.avast.com/antivirus