C 杂货店存货

C 杂货店存货,c,C,我写了一个程序来跟踪杂货店的存货。但在我的代码中,我想打印一个值。值是单位数量*单价。但不知怎的,我在程序中得到了垃圾值。你能帮帮我吗 #include<stdio.h> #include<conio.h> #define MAX 5 int printinventory(int , int unit[] , float price[]); int main() { int item[MAX],unit[MAX],x,i; float price[MAX]

我写了一个程序来跟踪杂货店的存货。但在我的代码中,我想打印一个值。值是单位数量*单价。但不知怎的,我在程序中得到了垃圾值。你能帮帮我吗

#include<stdio.h>
#include<conio.h>
#define MAX 5
int printinventory(int , int unit[] , float price[]);
int main()
{
    int item[MAX],unit[MAX],x,i;
    float price[MAX];
    printf("Please enter how many category items (up to 5) : ");
    scanf("%d",&x);
    for(i=0;i<x;i++)
    {
    printf("\nPlease enter Number of Units #%d : ",i+1);
    scanf(" %d",&unit[i]);
    printf("\nPlease enter the Unit Price #%d : ",i+1);
    scanf(" %f",&price[i]);
    }
    printinventory(x , unit , price);
    getch();
}

int printinventory (int  y, int unit[] , float price[])
{
    int i,j=0;
    float value[MAX];
    for(i=0;i<y;i++);
    {
        value[i] = (unit[i] * price[i]);
    }
    system("cls");
    printf("Item     Number of Units   Unit Price    Value ");
    printf("\n\n------------------------------------------------");
    for(i=1;i<=y;i++)
    {
        printf("\n%d",i);
        printf("\t  %d",unit[j]);
        printf("\t\t    $%.2f",price[j]);
        printf("\t$%.2f",value[j]);
        j++;
    }
    printf("\n\n------------------------------------------------");
    printf("\n\t\t\t\tTotal   $   ");
    getch();
}

问题似乎是您错误地在for循环的末尾包含了分号:


@保格里菲斯:我也这么认为,但如果你再看一遍代码,你会发现他不是用I来索引数组,而是用j,它的范围从0到y-1。我用j来打印值[0],值[1]。。。。。。数值[4]。但问题是,当我乘以单位数*单价时,我得到了一个无意义的数字。我不明白。请你能帮帮我吗。谢谢。@Dolda2000:你说得对,我删除了这条评论。它之所以被称为一个真正的大括号样式是有原因的-太感谢你了,多尔达2000。你真好!
    for(i=0;i<y;i++);