- Κώδικας: Επιλογή όλων
#include <stdio.h>
#define N 254 + 1
typedef struct person
{
int age;
char name[N];
char surname[N];
}kostas ;
int main(void)
{
kostas someone ;
printf("Dwse to onoma sou: ");
fgets(someone.name,254,stdin);
printf("Dwse to epwnumo sou: ");
fgets(someone.surname,254,stdin);
printf("\nDwse tin ilikia sou ");
scanf("%d",&someone.age);
printf("\n%s",someone.name);
printf("\n%d",someone.age);
printf("\n%s",someone.surname);
return 0;
}
το προβλημα ειναι οτι δεν μου εκτυπωνει καθολου το name ... γιατι?
EDIT : Λογω κεκτημενης ταχυτητας εκανα λαθος στο 2ο fgets ηθελε someone.surname αντι του someone.name που διορθωσα τωρα.
ΕΠισης ξεκαθαρισα κατι σημαντικο νομιζω στις δομες... που αν δεν το ξεκαθαρισει καποιος δεν μπορει να παει παρακατω... την διαφορα
δομης & μεταβλητης δομης
ας πουμε
- Κώδικας: Επιλογή όλων
CASE 1:
struct person {
.................
} kostas;
// Εδω το kostas ειναι μεταβλητη δομης.
CASE 2:
typedef struct person {
................
} kostas;
// εδω το kostas ειναι μια ολοκληρη δομη και βαζοντας το διπλα απο ενα τυχαιο ονομα (στην αρχη ενος τυχαιου ονοματος σαν επικεφαλιδα) ουσιαστικα το 2ο (αυτο που επεται) θα ειναι η μεταβλητη αυτη τη φορα.
Πχ
kostas nikos; //Τωρα το nikos (αυτο που έπεται) ειναι μεταβλητη δομης kostas (επικεφαλιδα , το τυχαιο ονομα που λεω πιο πανω δεν ειναι αυτο αλλα το nikos)



