안녕하세요/morning/day/오후, 모두들. 나는 현재 내 코드에 약간의 문제가있다. 난 구조체의 학생 배열을 만들려고 노력하고 배열에서 다음 하나를 가리키는 방법을 알아내는 데 문제가 있습니다. 이 문제에 대한 모든 지침은 많은 점에 감사 할 것입니다.C의 구조체 배열 탐색
main.c의
int main()
{
int n_students = 0;
struct student students[1000];
int closebool = 0;
int IDnum;
int k;
char buffer[101];
char *studentName_tmp;
do
{
scanf("%d", &operation_num);
switch (operation_num)
{
case 0 :
{
closebool = 1;
break;
}
case 1 :
{
scanf("%d %s", &IDnum, buffer);
studentName_tmp = (char *) malloc (strlen(buffer)+1);
strcpy (studentName_tmp, buffer);
n_students = insert(students, n_students, IDnum, studentName_tmp);
printf ("%d %s\n", students[n_students].ID, students[n_students].name);
n_students++;
break;
}
}
} while (closebool != 1);
return 0;
}
이 I 볼 것으로 예상되는 입력 및 출력
int insert(struct student array[], int numberof_students, int IDnum, char *student_name)
{
array[numberof_students].ID = IDnum;
array[numberof_students].name = student_name;
return 0;
}
student.c (이 경우, 입력 된 입출력)를
1 123 fred, 123 fred, 1, 234 조지, 234 조지,,363,210 1 345 헨리 345 헨리
I이 참조 그러나:
1 123 프레드 123 프레드 234 조지 123 프레드 345 헨리, (123) 프레드,
아하! 고마워요! 그것은 실제로 문제를 해결했습니다. –