首页 > 用户发贴区 > 编程问题提问区 > 帮忙看下这道程序错那了,谢谢
2008
02-18

帮忙看下这道程序错那了,谢谢

可以帮忙看看我的这程序那里错了
VC不通过
就是排a[5]={7,5,8,6,9}的顺序
#include<stdio.h>
pai(int *a[],int 5)
{int i,j,t;
for(i=0;i<5-1;i++)
   for(j=i+1;j<5;j++)
    if(a[i]<a[j]) {t=a[i];a[i]=a[j];a[j]=t;}
}
main()
{
int i,a[5]={7,5,8,6,9};
for(i=0;i<5;i++) printf(“%d “,a[i]);
printf(“\n排序后:”);
pai(a,5);
for(i=0;i<5;i++) printf(“%d “,a[i]);
}
这是VC的错误提示
——————–Configuration: 排序 – Win32 Debug——————–
Compiling…
排.c
D:\Program Files\Microsoft Visual Studio\MyProjects\排序\排.c(2) : error C2143: syntax error : missing ‘)’ before ‘constant’
D:\Program Files\Microsoft Visual Studio\MyProjects\排序\排.c(2) : error C2143: syntax error : missing ‘{‘ before ‘constant’
D:\Program Files\Microsoft Visual Studio\MyProjects\排序\排.c(2) : error C2059: syntax error : ‘<Unknown>’
D:\Program Files\Microsoft Visual Studio\MyProjects\排序\排.c(2) : error C2059: syntax error : ‘)’
D:\Program Files\Microsoft Visual Studio\MyProjects\排序\排.c(13) : warning C4013: ‘pai’ undefined; assuming extern returning int
执行 cl.exe 时出错.


排.obj – 1 error(s), 0 warning(s)


帮忙看下这道程序错那了,谢谢》有 3 条评论

  1. 倒影年华 说:

     你对排序函数设置了返回值类型了吗

  2. 吴自强198542 说:

    pai(int *a[],int 5)
    很明显的一个错务就是声明了常量5为int;

    第二:你要接收的是一个数组的首地址,而不是多个地址。程序可改为pai(int a,int k)

    不过这个变量k有什么用我也在想??

    需高手指点!!

  3. Aleks 说:

    函数调用处两处错误

    1传入地址故应指针接受。

    2传入整形故变量接受。

    还有2处warning:

    1pai()无返回类型说明。

    2main()无返回类型说明。

    改后参考:

    #include<stdio.h>

    void pai(int *a,int m)

    {

       int i,j,t;

       for(i=0;i<m-1;i++)

          for(j=i+1;j<m;j++)

             if(a[i]<a[j])

             {t=a[i];a[i]=a[j];a[j]=t;}

    }

    void main()

    {

    int i,a[5]={7,5,8,6,9};

    for(i=0;i<5;i++) printf(“%d “,a[i]);

    printf(“\n排序后:”);

    pai(a,5);

    for(i=0;i<5;i++) printf(“%d “,a[i]);

    }

留下一个回复