雾中草 发表于 2011-10-4 19:37

求助

小弟新手,各位大侠帮忙看下下面这段代码,编译后3个函数总是出现这种错误:function does not take 2 parameters
为什么???
#include<stdio.h>
#define N 10
void main()
{
        void input();
        void sort();
        void output();
        int a,*p;
        input(a,N);
        p=a;
        sort(p,N);
        output(p,N);
}
void input(int arr[],int n)
{
        int i;
        printf("input data:\n");
        for(i=0;i<n;i++)
                scanf("%d",&arr);

}
void sort(int *pt,int n)
{
        int i,j,t;
        for(i=0;i<n-1;i++)
                for(j=0;j<n-1;j++)
                        if(*(pt+j)>*(pt+j+1))
                        {
                                t=*(pt+j);
                                *(pt+j)=*(pt+j+1);
                                *(pt+j+1)=t;
                        }
}
void output(int arr[],int n)
{
        int i,*ptr=arr;
        printf("output data:\n");
        for(;ptr-arr<n;ptr++)
                printf("%4d",*ptr);
        printf("\n");
}

slsnlc 发表于 2012-9-1 16:13

#include<stdio.h>
#define N 10

void input(int arr[],int n)
{
    int i;
    printf("input data:\n");
    for (i=0;i<n;i++)
        scanf("%d",&arr);
}
void sort(int *pt,int n)
{
   
    int i,j,t;
    for (i=0;i<n-1;i++)
        for (j=0;j<n-1;j++)
            if (*(pt+j)>*(pt+j+1))
            {
                t=*(pt+j);
                *(pt+j)=*(pt+j+1);
                *(pt+j+1)=t;
            }
}
void output(int arr[],int n)
{
  
    int i,*ptr=arr;
    printf("output data:\n");
    for (;ptr-arr<n;ptr++)
        printf("%4d",*ptr);
    printf("\n");
}
int main()
{
    int a,*p;
    input(a,N);
    p=a;
    sort(p,N);
    output(p,N);
}

slsnlc 发表于 2012-9-1 16:14

不需要声明的   而且   你这冒泡真奇葩
页: [1]
查看完整版本: 求助