-1
次のコードでは、関数avg(int i,int j,int k,int *pint,double *pfloat)
は平均を計算してi
,j
,k
となり、結果の整数部分と浮動部分を個別に返します。たとえば、average = 22.45
の場合、22と0.45が返されます。ここC言語の関数が複数の値を返すことはできますか?
コードは次のとおり
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <math.h>
void avg(int i,int j,int k,int *pint,double *pfloat)
{
double average=(i+j+k)/3;
*pfloat=average-(floor(average));
*pint=floor(average);
}
int main()
{
int Integer=0;
double rem=0;
avg(2,4,5,&Integer,&rem);
printf("%d\n%lf",Integer,rem);
return 0;
}
出力3および0理由は?
私は整数分裂 –