우선 프로그램은 학생들의 이름과 성적을 저장하는 것인데 코드 짰음 (맞게 짰는지도 모르겠음). 잘 안 돌아가는군요 ㅠㅠ 포인터 끝난지 얼마 안됬는데 다음주에 벌써 시험이라 급히 보는중 ㅠ 도와주쇼 ㅠ

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

struct student { char *name ; float mark; };

void read_students ( struct student *ptr , int N ) // 이름 성적 저장
{
int i;
for ( i = 0 ; i < N ; i++, ptr++)
{
printf ( "Name and Mark " );
scanf  ( "%s %f" , (*ptr).name , (*ptr).mark );
}
}

void sort_students ( struct student *ptr , int N ) // Sorting alphabetically
{
int i;
int j;
char *t;
for ( i = 0 ; i < N ; i++ ) 
for ( j = i ; j < N ; j++ ) 
if ( *ptr[i].name > *ptr[j].name )
*t = *ptr[i].name; 
*ptr[i].name = *ptr[j].name; 
*ptr[j].name = *t;
}
}

void prin_students ( struct student *ptr , int N ) // 출력
{
int i;
for ( i = 0 ; i < N ; i++ , ptr++ ) printf ( "%s and %f " , (*ptr).name , (*ptr).mark );
}

int main (void)
{
int nstud;
printf ( "Number of students " );
scanf ( "%d", &nstud );

struct student a[nstud];

read_students ( a , nstud );
sort_students ( a , nstud );
prin_students ( a , nstud );

return 0;
}


#include #include #include struct student { char *name ; float mark; }; void read_students ( struct student *ptr , int N ) { int i; for ( i = 0 ; i < N ; i++, ptr++) { printf ( "Name and Mark " ); scanf ( "%s %f" , (*ptr).name , (*ptr).mark ); } } void sort_students ( struct student *ptr , int N ) { int i; int j; char *t; for ( i = 0 ; i < N ; i++ ) for ( j = i ; j < N ; j++ ) if ( *ptr[i].name > *ptr[j].name ) { *t = *ptr[i].name; *ptr[i].name = *ptr[j].name; *ptr[j].name = *t; } } void prin_students ( struct student *ptr , int N ) { int i; for ( i = 0 ; i < N ; i++ , ptr++ ) printf ( "%s and %f " , (*ptr).name , (*ptr).mark ); } int main (void) { int nstud; printf ( "Number of students " ); scanf ( "%d", &nstud ); struct student a[nstud]; read_students ( a , nstud ); sort_students ( a , nstud ); prin_students ( a , nstud ); return 0; }