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'?
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.