关于函数的 输入 输出
我定义一个函数,想这样,定义一个全局的 数组,然后把这个数组作为参数放到这个函数的输入参数那里,我的意图上,函数执行的时候,会把结果放入到这个数组里面。向下面这样可以么?? 如何写一个 可以把 运算结果数组传出来的的函数(不要用return)?
/********************************************************************
函数名称: get_gprs_mode_imei(char*imei)
输出:imei
********************************************************************/
void get_gprs_mode_imei(char*imei)
{
char *Pimei;
int i=0;
Pimei=IMEInumber();
for(i=0;i<15;i++)
{
imei[i]=*Pimei;
Pimei++;
}
}
[解决办法]
如果是定义的全局数组,那你的函数不用参数的。
直接在函数里使用数组就可以了。
如果要使用传参的方式,那就传递数组指针和数组维度吧。
int fun(int* array, int n){....}int main(){... int array[100]; fun(array, 100);...
[解决办法]
这与fortran里面函数类似
#include<stdio.h>
void function(int *s,int p1,int p2,int p3);
void main()
{
int a[3]={0};
int b=1,c=2,d=3;
function(a,b,c,d);
printf("%d %d %d\n",a[0],a[1],a[2]);
return;
}
void function(int *s,int p1,int p2,int p3)
{
*(s++)=p1;
*(s++)=p2;
*(s++)=p3;
}