몇 가지 C 문제를 해결해야하며 그 중 대부분은 qsort()를 어딘가에서 사용해야하는 것과 관련이 있습니다.하지만 인터넷에서 얼마나 많은 도움을 받든지 상관없이 작동시킬 수는 없습니다. 예를 들어,이 코드를 가지고 : 나는 날짜가 이미 경우에도 선언되지 않은 것입니다 오류가 발생할 수구조체 배열에서 작동하도록 qsort()를 구현하는 방법은 무엇입니까?
#include <stdio.h>
#include <string.h>
struct date
{
int day;
int month;
int year;
};struct date d[5]={
{12,12,2012},
{23,02,2014},
{31,01,2222},
{32,21,2011},
{12,01,1990}
};
int compare(const void * a, const void * b)
{
struct date *orderA = (date *)a;
struct date *orderB = (date *)b;
return ( orderA->year -orderB->year );
}
int main()
{
int i;
qsort(d,5,sizeof(date),compare);
for(i=0;i<5;i++)
printf("%d %d %d\n",d[i].day,d[i].month,d[i].year);
return 0;
}
. 그리고 난 함수를 비교하는 것을 이해할 수없고 그물에서 복사해야합니다. 도와주세요, 제발. 대학의 선생님은 아주 사소합니다.
'의를 sizeof을 (구조체 날짜)'도'#INCLUDE' –
Kninnug
및 사용'구조체 날짜 * orderA = (구조체 날짜 *)는; '비교 함수에서. – Riley
또는'typedef struct date date;를 사용하십시오. – BLUEPIXY