main()에서 정의 된 정적 배열을 다른 함수에서 매개 변수로 함수에 제공하지 않고 사용할 수있는 방법은 무엇입니까? 예를 들어 : 주() 정의한 배열 : int Array[10];
정수 가득. 내가 qsort를위한 비교 함수를 작성하고 싶습니다, 즉,이 헤더 가지고 있습니다 int compar (const void* a, const void* b);
비교 : qsort가 나의 비교 기능은 다음과 같습니다 static int compare(const void *arg1, const void *arg2) {
return strcmp((const char *) arg1, (const char *) arg2);
}
이 작동하지 않았다, 그래서 나는 그 사람 페이지에서 코드 예제를 보면서 나는 변
다음 코드에서 문자열을 비교하는 주석 처리 된 부분을 제거하면 seg 11 오류가 발생합니다. 나는 이유를 이해할 수 없다! 나머지 코드는 정상적으로 작동합니다. 어떤 도움을 주셔서 감사합니다! compare_names()에서 #include <stdio.h>
#include <stdlib.h>
#include <string.h>
int compar
오름차순으로 이름별로 레코드를 정렬하도록 내 레코드를 정렬하려고합니다. 이름이 같은 이름이있는 경우, 그것은 예를 들어 순서 내림차순으로 자신의 성적을 정렬합니다 : 원래 TEXTFILE을 simpson bart 25
simpson bart 35
simpson lisa 90
simpson bart 34
원하는 출력 : simpson bart 35
qsort()의 문자로 3D 배열을 정렬하는 데 문제가 있습니다. 문자열의 길이로 배열을 정렬하려고합니다. 나는 2 차원 배열 정렬이 코드를 발견 int compare(const void *name1, const void *name2)
{
const char *name1_ = *(const char **)name1;
const char
문자열 배열 정렬 (대소 문자 구분 안 함). qsort가 세분화 오류를 일으킬 수 있습니다. 아마도 캐스팅이 올바르지 않습니다. 문자열 #include <stdio.h>
#include <stdlib.h>
#include <string.h>
int compare(const void *string1, const void *string2) {
qsort(words, size1, size2, compareWords);
내부 비교 단어 :이 int compareWords(const void *ac, const void *bc)
이 작품 : char const *a = *(const char **)ac;
이 그렇지 (a 일부 쓰레기 값을 얻는다) : char const *a = ac;
stdlib.h 라이브러리와 함께 제공되는 qsort()을 사용하여 문자열 구조의 배열을 정렬합니다. 기본적으로 문자열 배열이지만 배열을 포함하는 구조입니다. 예를 들어 :는 typedef struct node {
char name[MAX_SIZE + 1];
} Node;
그런 다음 이름이 포함 된 노드 내 배열은 다음과 같습니다 내 질문은