发布于 4年前

在用devcpp编动态内存的时候总是出现这样的错误:[Error] ld returned 1 exit status 这是怎么回事啊,要怎么解决?

具体的程序如下

#include
#include
void min( int )
{
    int     *p;
    extern int  n;
    scanf( "%d", &n );
    p = (int *) malloc( n * sizeof(int) );
    int a[n]; int temp;
    for ( int i = 0; i <= n - 2; i++ )
    {
        for ( int j = i; j if ( a[j] > a[j + 1] )
              {
                  temp = a[j];
                  a[j] = a[j + 1];
                  a[j + 1] = temp;
              }
              }
              for ( int k = 0; k <= n - 2; k++ )
                  printf( "%d,", a[k] );
              printf( "%d", a[n - 1] );
              }
              int main()
              {
                  int *p, n;
                  int i; int a[n];
                  for ( i = 0; i < n; i++ )
                      scanf( "%d", &a[i] );
                  void min( int );
                  free( p );
                  return(1);
              }

解答

for(int j=i;j if(a[j]>a[j+1])

这里完全不对

void min(int);

这是函数定义,不是调用

free(p);

p 没有初始化, free 肯定不行

©2020 edoou.com   京ICP备16001874号-3