使用qsort时遇到的问题

对int数组排序:
#include<stdio.h>
#include<stdlib.h>
int cmp(const void *a, const void *b)     //int 是作为返回值类型,返回值为真或假,故用int(包括数据double时)
{
     return(*(int *)a-*(int *)b);                //如果是double型数组,则int改为double就可以了
}
int main()
{
	int k,a[100000];
	long i,n;
	char b[5];
	while(scanf("%ld",&n)!=EOF)
	{
		for(i=0;i<n;i++)
			scanf("%d",&a[i]);
		scanf("%s",b);
		qsort(a,n,sizeof(a[0]),cmp);   //sizeof(a)-->sizeof(a[0])    
		scanf("%d",&k);
		while(k--)
		{
			scanf("%d",&i);
			printf("%d\n",a[i-1]);
		}
	}
	return 0;
}
原文地址:https://www.cnblogs.com/submarinex/p/1941300.html