c语言中 qsort中使用的cmp为什么不需要带参数进去计算? 20
#include<stdio.h>#include<stdlib.h>intcmp(constvoid*a,constvoid*b){return*(int*)a-*(i...
#include<stdio.h>
#include<stdlib.h>
int cmp(const void *a,const void *b){
return *(int *)a - *(int *)b;
}
int main(void){
int i,n,a[100];
scanf("%d",&n);
for (i=0;i<n;i++) scanf("%d",&a[i]);
qsort(a,n,sizeof(a[0]),cmp);
for (i=0;i<n;i++) printf("%d ",a[i]);
return 0;
}
如以上程序,我们定义了的cmp带有2个参数,但是下面调用的时候却不需要带参数,这是为什么?
还有cmp函数中*(int*)a是什么意思?求大神解答 展开
#include<stdlib.h>
int cmp(const void *a,const void *b){
return *(int *)a - *(int *)b;
}
int main(void){
int i,n,a[100];
scanf("%d",&n);
for (i=0;i<n;i++) scanf("%d",&a[i]);
qsort(a,n,sizeof(a[0]),cmp);
for (i=0;i<n;i++) printf("%d ",a[i]);
return 0;
}
如以上程序,我们定义了的cmp带有2个参数,但是下面调用的时候却不需要带参数,这是为什么?
还有cmp函数中*(int*)a是什么意思?求大神解答 展开
7个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询