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、并加上输出语句后,这时就会发现,成功在中部输出来了,这样就完成了。
参考技术Ac语言中的函数可以分为有返回值的和没返回值的两种类型。
有返回值的的声明如下:
返回值类型 函数名(参数列表);
无返回值的返回值类型为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语言 通过自定义函数 寻找并返回数组最大值的位置下标 最大值有多个时 输出第一个最大值的下标