Ich habe versucht zu lernen, wie Strukturen zwischen Funktionen übergeben werden, und ich schrieb ein Programm, wo es ein Array von Struktur und Struktur selbst hat eine Reihe von ganzen Zahlen. Es ist richtig kompilieren, aber wenn ich es ausführen Programm erwartet nicht mehr als 4 Werte. Ich weiß nicht, was der Fehler ist?Übergeben Strukturen zwischen Funktionen
#include<stdio.h>
#include<stdlib.h>
typedef struct
{
char bname[10];
int ssn[3];
} book;
void accept(book k[], int n);
void print(book k[], int n);
int main()
{
book a[2];
accept(a, 2);
print(a, 2);
return 0;
}
void accept(book k[], int n)
{
int i, j;
for (i = 0; i < n; i++)
{
for (j = 0; j < 3; i++)
{
scanf("%d\n", &k[i].ssn[j]);
}
scanf("%s\n", k->bname);
}
}
void print(book k[], int n)
{
int i, j;
for (i = 0; i < n; i++)
{
for (j = 0; j < 3; j++)
{
printf("%d\n", k[i].ssn[j]);
}
printf("%s\n", k->bname);
}
}
Beginnen Sie mit dem Einrücken Ihres Codes. –
'scanf ("% d \ n "' ... bist du sicher, dass du das '\ n' dort haben willst? –