首页 > 解决方案 > 如何将数组作为参数传递?

问题描述

我想创建一个函数,将两个数组中的每个元素相乘并将其存储在新数组中。

例如:amount[i] = price[i] * quantity[i];

我的代码不起作用。这是我的代码:

#include <stdio.h>

void extend(float[], float[], double[]);

int main(void) {

    float price[10] = { 10.62, 14.89, 13.21, 16.55, 18.62, 9.47, 6.58, 18.32, 12.15, 3.98 };
    float quantity[10] = { 4, 8.5, 6, 8.35, 9, 15.3, 3, 5.4, 2.9, 4.8 };
    double amount[10] = { 0 };
    extend(price, quantity, amount);
    for (int i = 0; i < 10; i++) {
        printf("%f ", amount[i]);
    }
   return 0;
}

void extend(float PRICE[], float QUANTITY[], double amount[]) {
    for (int i = 0; i < 10; i++) {
        amount[i] = PRICE[i] * QUANTITY[i];
    }
}

请让我知道哪一部分是错的。

标签: arrayscpointersparameters

解决方案


代码是在代码块上工作的。没有任何错误。在此处输入图像描述


推荐阅读