为什么我的最小值显示一些垃圾值?

时间:2017-08-08 03:13:04

标签: c arrays

源代码:

int main(void) {

    double values[10];
    int size = 5;
    double max_val = values[0];
    double min_val = values[0];

    printf("Enter 10 double values for the array\n");
    for (int i = 0; i < size; i++) {
        scanf("%lf", &values[i]);
    }

    for (int x = 0; x < size; x++) {
        if (values[x] > max_val) {
            max_val = values[x];
        }
        if (values[x] < min_val) {
            min_val = values[x];
        }
    }

    printf("Maximum value: %.2lf\n", max_val);
    printf("Miniimum value: %.2lf\n", min_val);
    return 0;

}

为数组输入10个双精度值

10.4
56.7
21.1
0.3
4.8


Maximum value: 56.70
Minimum value: -92559631349317830736831783200707727132248687965119994463780864.00

1 个答案:

答案 0 :(得分:2)

double max_val = values[0];
double min_val = values[0];

您已将垃圾值分配给max_val和min_val,因为此时未为值[0]分配任何值

在for循环中输入

后,您应该移动此分配