Ajuda em C

swz

Membro
Boas,

Estou aqui com uma duvida, o programa corre perfeitamente, mas ele nunca me lê o "z5"
A estrutura esta declarada assim:

typedef struct s1{
char name[100];
int ph;
char place[7];
}pessoa;

pessoa agenda[DIM]

Código:
agenda[i].place[0]=="z5";
	 printf("place=\n", agenda[i].place[0]);

porque?
 
Primeiro, não se atribui strings com =, muito menos com == que serve para comparar números, tens que utilizar o strcpy para copiar a string.

strcpy( agenda.place, "z5" );

Depois, no printf não tens nada na string para que apareça o que queres, terá de ser por exemplo:

printf("place=%s\n", agenda.place);
 
Sim isso do printf foi erro meu, distracção, o das strings não sabia, obrigado.

mas no entanto surgiu outro problema, sem ser em strings:

...
Código:
scanf( "%d", &c);
agenda[i].lugar=c;

O programa mais uma vez corre, mas da fatal error quando chega ai. Qual é o meu erro desta vez'? :confused:
 
Última edição:
Então aí está o problema, declaraste o lugar como uma string e estás a tentar por lá um número inteiro.
Tens que escolher se queres guardar uma string ou um inteiro no lugar.
 
Back
Topo