c语言中,定义一个函数,函数输出结果是一个数组,整个的形式是怎么样的?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言中,定义一个函数,函数输出结果是一个数组,整个的形式是怎么样的?相关的知识,希望对你有一定的参考价值。

提供两个办法:
1.在主调函数中建立数组,将数组指针传给自定义的函数,处理后主调函数中的数组值也就变化了。
void fun(int a[],int n)
........

//其中a[]就是要输入的数组,n是这个数组的长度。
void main(void)
int arry[10]=1,2,3,4,5,6,7,8,9,0;
fun(arry,10);
......

2.可以在主调函数中建立数组并把首地址和长度传给函数,在函数中创建一个动态数组,处理完后把动态数组的首地址返回主调函数,最后在主调函数中释放动态申请的内存。
int *fun(int a[],int n)
int *p=(int *)malloc(n*sizeof(int));//申请内存.
if(!p)//判断是否申请成功.
printf("failure...");
exit(0);

memcpy(p,a,n*sizeof(int));//把主调函数的数组拷贝过来.
......
return p;

void main(void)
int arry[10]=1,2,3,4,5,6,7,8,9,0,*ptmp;
ptmp=fun(arry,10);
......
free(ptmp);//释放申请的空间.

数组的内容是不能一一传给函数的……
参考技术A 可以吧函数的输入部分加上这个数组,在函数体内改变数组的元素值,在主函数调用时就等于给主函数输出了一个数组。
例如
void main()

int i,num[5];
void ddt(int []);

ddt(num);
for(i=0;i<5;i++)

printf("%d ",num[i]);


void ddt(int num[5])

for(int i=0;i<5;i++)
num[i]=i+1;

在主函数中将输出1 2 3 4 5

C语言中怎样输出自定义函数的输出

1.用C语言做一个函数,要求给定任意一个4位数,能够将其个位,十位,百位,千位,输出,尽可能的简单些.2.用C语言做一个函数,要求能够实现读取最大位是在什么位,最大位的数值是几?

1、首先输入调用系统函数的头文件,以及其他常用的语句。

2、然后定义一个【handle】这样的话柄。

3、接下来就可以将输出的话柄通过【GetStdHandle】传递给他。

4、此时,需要再定义一个【COORD】的pos光标变量。

5、接下来就要将这个输出的话柄以及光标位置赋值给他。

6、并加上输出语句后,这时就会发现,成功在中部输出来了,这样就完成了。

参考技术A

c语言中的函数可以分为有返回值的和没返回值的两种类型。

有返回值的的声明如下:

返回值类型 函数名(参数列表);

无返回值的返回值类型为void。


要输出函数的返回值,可以先把返回值复制给一个变量输出,也可以直接输出。


实例如下:

#include<stdio.h>

//返回两个数a和b中的较大者 
int max(int a,int b)

    return a>b? a:b;

int main()

    int a=2;
    int b=200;
    printf("%d\\n",max(a,b));//直接输出
    int m=max(a,b);
    printf("%d\\n",m);//通过变量 
    getchar();
    return 0; 

参考技术B 楼上给的程序有缺陷

我补充吧~~!

#include<stdio.h>
void aaa(int a)
int x,y,z,e;
x=a/1000;
y=a/100%10
z=a/10%10
e=a%10;
printf(%d%d%d%d,x,y,z,e);

main()
int b;
scanf(%d,b);
if(b>=1000&&b<=9999)
aaa(b);


要是有不懂的在线交流啊~~!本回答被提问者采纳
参考技术C #include <stdio.h>
#include <stdlib.h>
int main()
int num;
void fun(int);
printf("输入一个四位数:\n");
scanf("%d",&num);
fun(num);
system("pause");
return 0;

void fun(int a)
while(a)
printf("%d,",a%10);
a/=10;



第二个
#include <stdio.h>
#include <stdlib.h>
int main( )
void fun(long);
long num;
scanf("%ld",&num);
fun(num);
system("pause");
return 0;

void fun(long a)
int i=0,j=1,max=0;
while(a)

i++;//i表示数字中位数的增加
if(max<a%10)

max=a%10;
j=i;//j表示最大值的位数,从右到左第几位

a/=10;

printf("max:%d,no.:%d",max,j);
参考技术D `1 void aaa(int a)
int x,y,z,e;
x=a/1000;
y=a/100%10
z=a/10%10
e=a%10;
printf(%d%d%d%d,x,y,z,e);

main()
scanf(%d,b);
aaa(b);

以上是关于c语言中,定义一个函数,函数输出结果是一个数组,整个的形式是怎么样的?的主要内容,如果未能解决你的问题,请参考以下文章

c语言中如何将字符串转化成整数型并输出?

C语言 通过自定义函数 寻找并返回数组最大值的位置下标 最大值有多个时 输出第一个最大值的下标

用C语言写一个子函数完成对一整型数组从大到小的排序

简单的自定义调试函数【C语言】

C语言高手来帮忙吧!!编写函数,求一个整型数组的第一个偶数的下标和最后一个偶数的下标。

C语言【函数 数组 指针】利用指针求一维数组的数据元素之和