KK_WXH 2019-11-16 20:27 采纳率: 0%
浏览 765
已采纳

为什么会报错 [Error] ld returned 1 exit status ??

首先说明,不是编译器没有关闭的问题。

附代码供大佬检查。

#include <iostream>
using namespace std ;
void merges(double [] , int , double [] , int , double []) ;
int main()
{
    double numbers1[80] , numbers2[80] , numbers[80] ;
    int count = 0 ;
    for (int i = 0 ; i <= count ; i++)
    {
        if (count == 0)
        {
            cout << "输入第一个数组的元素个数\n" ;
            cin >> count ;  
            count = count - 1 ;
            cout << "依次输入第一个数组的元素\n" ;
        }
        cin >> numbers1[i] ;
    }
    int numbers1Size = count + 1 ;
    count = 0 ;
    for (int i = 0 ; i <= count ; i++)
    {
        if (count == 0)
        {
            cout << "输入第二个数组的元素个数\n" ;
            cin >> count ;
            count = count - 1 ; 
            cout << "依次输入第二组数组元素\n" ;
        }
        cin >> numbers2[i] ;
    }
    int numbers2Size = count + 1 ;
    merges(numbers1 , numbers1Size , numbers2 , numbers2Size , numbers) ;
    return 0 ;
}


void merges(double numbers1[80] , int numbers1Size , double numbers2[80] , int numbers2Size , int numbers[80]) 
{
    bool changed ;
    do
    {
        changed = false ; 
        for (int i = 0 ; i < numbers1Size - 1 ; i++)
        {
            if(numbers1[i] > numbers1[i+1])
            {
                double savings ;
                savings = numbers1[i] ;
                numbers1[i] = numbers1[i+1] ;
                numbers1[i+1] = savings ;
                changed = true ;
            } 
        }
    }while (changed) ;
    do
    {
        changed = false ;
        for (int i = 0 ; i < numbers2Size - 1 ; i++)
        {
            if(numbers2[i] > numbers2[i+1])
            {
                double savings ;
                savings = numbers2[i] ;
                numbers2[i] = numbers2[i+1] ;
                numbers2[i+1] = savings ;
                changed = true ;
            } 
        }
    }while (changed) ;
    int n1 = 0 , n2 = 0;
    for (int i = 0 ; i <= numbers1Size + numbers2Size -1 ; i++)
    {
        if (n1 <= numbers1Size - 1 && n2 <= numbers2Size - 1)
        {
        if (numbers1[n1] > numbers2[n2])
        {
            numbers[i] = numbers2[n2] ;
            n2++ ;
        }
        else
        {
            numbers[i] = numbers1[n1] ;
            n1++ ;
        }
        continue ; 
        }
        if (n1 > numbers1Size - 1)
        {
            for ( ; n2 <= numbers2Size - 1 ; n2++)
            {
                numbers[i] = numbers2[n2] ;
                i++ ;
            }
        continue ;  
        }
        if (n2 > numbers2Size - 1)
        {
            for ( ; n1 <= numbers1Size - 1 ; n1++)
            {
                numbers[i] = numbers1[n1] ;
                i++ ;
            }   
        }
    }
    cout << "\n\n" << "将两个数组合并后的元素按大小顺序排列如下: " ;
    for (int j = 0 ; j <= (numbers1Size + numbers2Size - 1) ; j++)
    {
        cout << numbers[j] << "  " ;
    }
    return ;
 } 

求大佬解答!!

  • 写回答

1条回答 默认 最新

  • QiQaWgYu 2019-11-16 21:08
    关注

    void merges(double [] , int , double [] , int , double []) ;

    void merges(double numbers1[80] , int numbers1Size , double numbers2[80] , int numbers2Size , int numbers[80]) {}

    声明与实现的形参类型不一样了,好好看看

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler