| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3557 人关注过本帖
标题:函数返回值为一个数组,想要在主函数中用到这个数组,不知道怎么办了,求助 ...
只看楼主 加入收藏
CLuck
Rank: 2
等 级:论坛游民
帖 子:23
专家分:17
注 册:2011-5-6
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
函数返回值为一个数组,想要在主函数中用到这个数组,不知道怎么办了,求助!!!
定义了函数bubble_sort(int N,int A[N]),其返回值为A[N],现在主函数中需要用到这个A[N],请问怎么调用它?
源码:
  1#include <stdio.h>
  2
  3
  4 int bubble_sort(int N,int A[N])
  5 {
  6         int i,j,temp;
  7         for(i=0;i<N-1;i++)
  8         {
  9                 for(j=0;j<N-i-1;j++)
 10                 {
 11                         if(A[j]>A[j+1])//升序排列
 12                         {
 13                                 temp=A[j];
 14                                 A[j]=A[j+1];
 15                                 A[j+1]=temp;
 16                         }
 17                 }
 18         }
 19         for(i=0;i<=N-1;i++)
 20         {
 21                 printf("%d ",A[i]);
 22         };
 23         return A[N];//返回为A[N]
 24
 25 }
 26
 27
 28 void insert(int N,int X,int A[N])
 29 {
 30         int i,j;
 31         int B[N+1];
 32         for(i=0;i<N;i++)
 33         {
 34                 if(A[i]<N&&A[i+1]>=N)
 35                 {
 36                         for(j=N-1;j>i;j--)
 37                         {
 38                                 B[j+1]=A[j];
 39                         }
 40                         B[i+1]=X;
 41                         for(j=0;j<=i;j++)
 42                         {
 43                                 B[j]=A[j];
 44                         }
 45                 }
 46                 break;
 47         }
 48         for(i=0;i<=N;i++)
 49         {
 50                 printf("%d  ",B[i]);
 51         }
 52 }
 53
 54
 55 main()
 56 {
 57         int n,i,x;
 58         int b[n],*p;
 59         printf("Please set the size of array:\n");
 60         scanf("%d",&n);
 61         int a[n];
 62         printf("Please input some number:\n");
 63         for(i=0;i<n;i++)
 64         {
 65                 scanf("%d",&a[i]);
 66         }
 67         p=bubble_sort(n,a);//这里不能这样使用指针     
 68         for(i=0;i<n;i++)
 69         {
 70                 b[i]=*p;
 71                 p++;;
 72         }
 73         printf("What number you want to insert:\n");
 74         scanf("%d",&x);
 75         insert(n,x,b);//这里需要调用到A[N]
 76         return 0;
 77
 78 }
 79
话说函数的返回值不能作为另一个函数的参数来引用吗?
搜索更多相关主题的帖子: include 
2012-05-07 21:26
Dick_G
Rank: 2
等 级:论坛游民
帖 子:21
专家分:84
注 册:2012-4-7
收藏
得分:10 
我觉得这个最好用指针.....
2012-05-07 21:52
Dick_G
Rank: 2
等 级:论坛游民
帖 子:21
专家分:84
注 册:2012-4-7
收藏
得分:0 
可以用数组名作为形参......函数就可以对数组进行操作,不需要返回值
2012-05-07 21:58
Dick_G
Rank: 2
等 级:论坛游民
帖 子:21
专家分:84
注 册:2012-4-7
收藏
得分:0 
额,说错了,应该是作实参而不是形参
2012-05-07 21:59
S_Ringo
Rank: 4
来 自:歌舞伎町
等 级:业余侠客
帖 子:94
专家分:230
注 册:2012-4-15
收藏
得分:5 
谁说不能?
putchar(getchar());
就是最简单的例子咯……
2012-05-08 22:54
丶Shiver
Rank: 1
等 级:新手上路
帖 子:4
专家分:6
注 册:2012-3-15
收藏
得分:5 
返回值用指针代替数组.
第一个函数表示看不懂.只是实现整数数组按小到大的排序?
2012-05-08 23:56
快速回复:函数返回值为一个数组,想要在主函数中用到这个数组,不知道怎么办了, ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012023 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved