【问题标题】:Why is my minimum value showing some junk value? [duplicate]为什么我的最小值显示一些垃圾值? [复制]
【发布时间】:2017-08-08 03:13:04
【问题描述】:

源代码:

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

【问题讨论】:

  • 您在读入数据之前设置了max_valmin_val

标签: c arrays


【解决方案1】:
double max_val = values[0];
double min_val = values[0];

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

你应该在你在 for 循环中输入之后移动这个赋值

【讨论】:

  • 好的,谢谢!我应该在第一个 for 循环之后分配 max_val 和 min_val
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-10-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-23
相关资源
最近更新 更多