Δημοσιεύτηκε: 27 Ιουν 2011, 02:31
από migf1
1. το name[6] θέλει name[7] για να έχει στο τέλος χώρο και για τον μηδενικό χαρακτήρα (το "Kwstas" έχει ήδη 6 χαρακτήρες)
2. η αρχικοποίηση του: customer array[2] καλό είναι να θέτει τιμές και για όλους τους customers (δίνεις μόνο για τον 1ο)
3. η συνθήκη του loop πρέπει να είναι: p < &array[2]; (το έχεις: p < &array[3];)

Κώδικας: Επιλογή όλων

#include<stdio.h>

typedef struct {
int id;
char name[7];
} customer;

int main ( void )
{
customer array[2] = {
{.id=1, .name="Kwstas"},
{.id=2, .name="Panos"}
};
customer *p;

for (p=array; p < &array[2]; p++)
printf("%d %s \t", p->id , p->name);

return 0;
}