vaghxc 2024-03-07 11:58 采纳率: 88.2%
浏览 3
已结题

调用函数结果问题求解

问题是输入一个数 按顺序插入数组中
想问一下这个插入功能是在子函数实现的,输出在主函数,那在子函数已经排好序了(没有用指针,那子函数结束了主函数怎么能用子函数的结果呢),怎么在主函数中输出呢?
规定数组为12356,输入4,成123456


#include<stdio.h>
int f1(int ch[],int n)
{
    int m,i,j;
    printf("请输入一个数:");
    scanf("%d",&m);
    ch[n-1]=m;
    //冒泡排序 
    for(i=1;i<n;i++)    //变量i代表比较的趟数
    {
           for(j=1;j<n-i;j++)    //变最j代表每趟两两比较的次数
        {
            if(ch[j]>ch[j+1])
            {
                m=ch[j];    //利用中间变量实现两值互换
                ch[j]=ch[j+1];
                ch[j+1]=m;
            }    
        }
    }  
}
int main()
{
    int ch[6]={1,2,3,5,6};
    f1(ch,6);
    for (int j = 0; j < 6; j++)//循环依次输出数组
    {
        printf("%d", ch[j]);
    }
    return 0;
}

  • 写回答

6条回答 默认 最新

  • qzjhjxj 2024-03-07 15:26
    关注

    因为在函数int f1(int ch[],int n)的形参 int ch[] 是地址传递,所以在f1()函数里对数组的操作作用于主函数里定义的数组 int ch[6]={1,2,3,5,6};。形参 int ch[] 这样写法与 int *ch 是等效的。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

问题事件

  • 系统已结题 3月15日
  • 已采纳回答 3月7日
  • 创建了问题 3月7日

悬赏问题

  • ¥100 求懂行的大ge给小di解答下!
  • ¥15 pcl运行在qt msvc2019环境运行效率低于visual studio 2019
  • ¥15 MAUI,Zxing扫码,华为手机没反应。可提高悬赏
  • ¥15 python运行报错 ModuleNotFoundError: No module named 'torch'
  • ¥100 华为手机私有App后台保活
  • ¥15 sqlserver中加密的密码字段查询问题
  • ¥20 有谁能看看我coe文件到底哪儿有问题吗?
  • ¥20 我的这个coe文件到底哪儿出问题了
  • ¥15 matlab使用自定义函数时一直报错输入参数过多
  • ¥15 设计一个温度闭环控制系统