烟著柳. 2021-10-04 11:03 采纳率: 0%
浏览 90

用c++跑冒泡排序,主函数调用自定义函数时参数传不过去


#include<stdio.h>

void BubbleSort(int a[],int n)
{
    int i, j;
     int flag=1;
     int temp;
     for(j = 1;j < n && flag==1 ; j++)
     {
      flag=0;
      for(i = 1;i <= n - j; i++)
      {    
        if(a[i]>a[i+1])
        {
          flag=1;                         
          temp = a[i];
          a[i] = a[i+1];
          a[i+1] = temp;
    }
      }
      }
}

int main()
{
     int a[5]={1,2,5,3,4};
     BubbleSort(a[5],5);
}

编译后提示:
27 20 冒泡排序.cpp [Error] invalid conversion from 'int' to 'int*' [-fpermissive]

如果不用主函数,

#include<iostream>
using namespace std;
class A
{
    void BubbleSort(int a[],int n)
    {
        int i,j,temp;
        int flag=1;
        for(i=1;i<n&&flag==1;i++)
        {
            flag=0;
            for(j=1;j<=n-i;j++)
            {
                if(a[j]>a[j+1])
                {
                    flag=1;
                    temp=a[j];
                    a[j]=a[j+1];
                    a[j+1]=temp;
                 } 
            }
        }
    }
};



则会提示 [Error] ld returned 1 exit status
请教一下该怎么办哇

  • 写回答

5条回答 默认 最新

  • 关注

    BubbleSort(a[5],5);
    这里传参的时候只用传数组名字,也就是地址

    BubbleSort(a,5);
    

    修改之后:

    #include<stdio.h>
    void BubbleSort(int a[],int n)
    {
        int i, j;
         int flag=1;
         int temp;
         for(j = 1;j < n && flag==1 ; j++)
         {
          flag=0;
          for(i = 1;i <= n - j; i++)
          {
            if(a[i]>a[i+1])
            {
              flag=1;
              temp = a[i];
              a[i] = a[i+1];
              a[i+1] = temp;
        }
          }
          }
    }
    int main()
    {
         int a[5]={1,2,5,3,4};
         BubbleSort(a,5);
         for(int i=0;i<5;i++){
            printf("%d ",a[i]);
         }
    }
    

    img

    评论

报告相同问题?

问题事件

  • 创建了问题 10月4日

悬赏问题

  • ¥30 arduino vector defined in discarded section `.text' of wiring.c.o (symbol from plugin)
  • ¥20 关于#c++#的问题:(2)运算二叉树·表达式一般由一个运算符和两个操作数组成:(相关搜索:二叉树遍历)
  • ¥20 如何训练大模型在复杂因素组成的系统中求得最优解
  • ¥15 关于#r语言#的问题:在进行倾向性评分匹配时,使用“match it"包提示”错误于eval(family$initialize): y值必需满足0 <= y <= 1“请问在进行PSM时
  • ¥45 求17位带符号原码乘法器verilog代码
  • ¥20 PySide6扩展QLable实现Word一样的图片裁剪框
  • ¥15 matlab数据降噪处理,提高数据的可信度,确保峰值信号的不损失?
  • ¥15 怎么看我在bios每次修改的日志
  • ¥15 python+mysql图书管理系统
  • ¥15 Questasim Error: (vcom-13)