指向函数的指针
![在这里插入图片描述](https://img-blog.csdnimg.cn/21827e3c6fb34f529f7bc9fa8a0afdea.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6aqG6am86IOh5p2o,size_20,color_FFFFFF,t_70,g_se,x_16)
#include <iostream>
#include <Windows.h>
using namespace std;
int compare_int(const void* a, const void* b) {
int* a1 = (int*)a;
int* b1 = (int*)b;
return *a1 - *b1;
}
int compare_char(const void* a, const void* b) {
char a1 = *(char*)a;
char b1 = *(char*)b;
if (a1 >= 'A' && a1 <= 'Z') a1 += 32;
if (b1 >= 'A' && b1 <= 'Z') b1 += 32;
return a1 - b1;
}
int main(void) {
int x = 20;
int y = 10;
int (*fp)(const void*, const void*);
fp = &compare_int;
int arr[] = { 2, 10, 30, 1, 11, 8, 7, 111, 520 };
int len = sizeof(arr) / sizeof(arr[0]);
qsort(arr, len, sizeof(arr[0]), (*fp));
for (int i = 0; i < len; i++) {
cout << arr[i] << " ";
}
cout << endl;
char arrc[] = { "abcdefghiABCDEFGHI" };
int len1 = (sizeof(arrc)-1) / sizeof(arrc[0]);
int (*cp)(const void*, const void*);
cp = &compare_char;
qsort(arrc, len1, sizeof(arrc[0]), cp);
for (int i = 0; i < len1; i++) {
cout << arrc[i] << " ";
}
cout << endl;
system("pause");
return 0;
}