示例1
#include <stdio.h>
typedef struct inputArgu
{
int a;
int b;
} INARGU;
typedef struct outputArgu
{
int sum;
int mul;
int sub;
int div;
} OUTARGU;
float sumF(float a,float b);
double sumI(int a, int b);
void mySum(int a,int b,int *sum,int *mul,int *sub,int *div);
void mySum1(INARGU in,OUTARGU *out);
void mySum2(INARGU in,OUTARGU *out);
int main(void)
{
int x=11, y=12;
INARGU in;
OUTARGU out;
in.a = x;
in.b = y;
mySum2(in,&out);
printf("sum=%d,mul=%d,sub=%d,div=%d",out.sum,out.mul,out.sub,out.div);
return 0;
}
double sumI(int a, int b)
{
return (double)a+(double)b;
}
float sumF(float a,float b)
{
return a+b;
}
void mySum(int a,int b,int *sum,int *mul,int *sub,int *div)
{
*sum = a+b;
*mul = a*b;
*sub = a-b;
*div = a/b;
}
void mySum1(INARGU in,OUTARGU *out)
{
(*out).sum = in.a + in.b;
(*out).mul = in.a * in.b;
(*out).sub = in.a - in.b;
(*out).div = in.a / in.b;
}
void mySum2(INARGU in,OUTARGU *out)
{
out->sum = in.a + in.b;
out->mul = in.a * in.b;
out->sub = in.a - in.b;
out->div = in.a / in.b;
}
示例2
#include <stdio.h>
#include <stdlib.h>
#define N 15
void initArr(int *a,int cnt);
void showArr(int *a,int cnt);
void getSumOfArr(int *a,int cnt,int *sum);
void getAverOfArr(int *a,int cnt,double *aver);
int main(void)
{
int arr[N];
int cnt;
int sum;
double aver;
printf("please input cnt<%d: ",N);
scanf("%d", &cnt);
printf("please input %d datas: ",cnt);
initArr(arr, cnt);
printf("show Arr:\n");
showArr(arr, cnt);
getSumOfArr(arr, cnt, &sum);
printf("sum of all datas for Arr:%d\n",sum);
getAverOfArr(arr, cnt, &aver);
printf("sum of all datas for Arr:%.2lf\n",aver);
printf("\n");
return 0;
}
void initArr(int *a,int cnt)
{
int i;
for(i=0;i<cnt;i++)
{
scanf("%d", &a[i]);
}
}
void showArr(int *a,int cnt)
{
int i;
for(i=0;i<cnt;i++)
{
printf("%3d ",a[i]);
if((i+1)%5==0)
{
printf("\n");
}
}
}
void getSumOfArr(int *a,int cnt,int *sum)
{
int i;
*sum = 0;
for(i=0;i<cnt;i++)
{
*sum += a[i];
}
}
void getAverOfArr(int *a,int cnt,double *aver)
{
int sum;
getSumOfArr(a,cnt,&sum);
*aver = (double)sum / cnt;
}