c语言中 如何控制返回值中double的小数位数?

c语言中 如何控制返回值中double的小数位数?
如:

int i = 0,sum;
    double ave = 0;
    int length = sizeof(array) / sizeof(array[0]);
    for (i = 0; i < length; i++)
    {
        sum += array[i];
    }
    ave = sum / length;
    return ave;

只有输出的时候能控制位数,返回函数值时,是控制不了的。

这时候你不需要控制啊,外部调用这个函数的代码接收返回值后再进行处理就行了
另外道理上要清楚,double型小数位数你是控制不了的。你能控制的是输出double型数据时保留几位小数,以及double型数据的精度。比如经常要有四舍五入的处理,比如double值为3.1415926,你希望两位有效小数的时候,就这么写:
double x = 3.1415926;
x = (int)(x*100+0.005)/100.0;
这样x值就是3.140000,大概这样子了