"Programming Pearls": qsort 类型冲突

"Programming Pearls": conflicting types for qsort

这是第 1 栏中 Programming Pearls 的解决方案。6_1:

> #include <stdio.h>

int intcomp(int *x, int *y)
{
    return *x-*y;
}
int a[1000000];
int main(void) {
    // insert code here...
    int i,n=0;
    while (scanf("%d",&a[n])!=EOF) {
        n++;
    }
    qsort(a,n,sizeof(a[0]),intcomp);
    for(i=0;i<n;i++)
    {
        printf("%d\n",a[i]);
    }
    return 0;
}

错误信息:

conflicting types for "qsort"

你能告诉我为什么会这样吗?不是默认定义的吗?

我的编译器是 Xcode (MacOS)。

评论(事实证明是正确的猜测)提升为回答:

不清楚上面的源代码是从书上输入的,还是网上找的。上面的代码与 this github copy of p1c1quicksort 有一些不同,即缺少上面的代码:

#include <stdlib.h>.