首页 > 解决方案 > 发送一个二维数组来计算总数并在函数中显示结果

问题描述

我想找到数组的大小,由另一个函数分隔

我尝试发送信息。但它没有正确显示结果

int main()
{
int amount[2];
int price[2][4];
int total[4];

getData(amount,price,total);
getSizeOfArray(amount,price,total);

}
void getData(int amount[2],int price[2][4],int total[2])
{
for(int i=0;i<2;i++)
{
    printf("+++Department %d+++\n\n",i+1);
    for(int j=0;j<4;j++)
    {
        printf("Costomer %d\n",j+1);
        printf("Enter amount : ");
        scanf("%d",&amount[i]);
        printf("Enter price : ");
        scanf("%d",&price[i][j]);

        total[j]=amount[i]*price[i][j];
    }
    printf("\n=================\n");

}
}

void getSizeOfArray(int amount[2],int price[2][4],int total[2])
{

}

标签: c

解决方案


如果要获取数量数组大小:

int getSizeOfArray(int* amount)
{
    return (sizeof(amount) / sizeof(int));
}

它将返回 2

如果您想获取价格数组大小:

int * getSizeOfArray(int** price)
{
    int size[2];
    size[1] = (sizeof(price[0]) / sizeof(int));
    size[0] = (sizeof(price) / sizeof(int)) / size[1];
    return size;
}

它将返回一个数组:

尺寸[0]:2

尺寸[1]:4


推荐阅读