C 如何通过if循环指向数组

C 如何通过if循环指向数组,c,C,好的,所以我正试图写一个程序,在那里我投标的汽车。我想做的是,如果当前出价为零,那么最低出价就是起始出价。如果当前出价不为零,则最低出价为当前出价加上最低出价。当从类型“float”分配到类型“float[5]”时,我不断收到一个错误,该错误表示不兼容类型 这是我的密码: #include <stdio.h> #include <stdlib.h> #include <string.h> int menu1(); i

好的,所以我正试图写一个程序,在那里我投标的汽车。我想做的是,如果当前出价为零,那么最低出价就是起始出价。如果当前出价不为零,则最低出价为当前出价加上最低出价。当从类型“float”分配到类型“float[5]”时,我不断收到一个错误,该错误表示
不兼容类型

这是我的密码:

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>

    int menu1();

    int main()
    {
        FILE * ifp = fopen("input2.txt","r"); //Open the input file
        int cars = 5, i , j, k; // Initialized cars and counters i, j, and k
        char *VIEW="VIEW", *BID="BID", *CLOSE="CLOSE", choice1[20]; //Initialize character arrays
        float CAR[5]={1,2,3,4,5},START_BID[5]={0.00}, MIN_BID[5]={0.00}, CUR_BID[5]={0.00}, USR_BID[5]={0.00}; //Initialized float arrays
        int compareLimit = 100, selection=0;

        //Scan the file and appropriate the numbers into their respective arrays
        for (i = 0; i < cars; i++)
            {
                fscanf(ifp, "%f %f", &START_BID[i],&MIN_BID[i]);
            }


        printf("Welcome to the Silent Auction\n\n");
        menu1(); //Display the menu


        while (selection < 3)
    {
            scanf("%s", choice1);

            int result = strncmp(choice1, VIEW, compareLimit); //Compare two strings
            if(result == 0)
            {
                selection = 1;

            }


            int result2 = strncmp(choice1, BID, compareLimit); //Compare two strings
            if(result2 == 0)
            {
                selection = 2;

            }

            int result3 = strncmp(choice1, CLOSE, compareLimit); //Compare two strings
            if(result3 == 0)
            {
                selection = 3;
            }

            if (selection == 1)
            {
                printf("Number\tCurrent Bid\tMinimum Increase\n");
                printf("1\t$%.2f\t\t$%.2f\n",CUR_BID[0], MIN_BID[0]);
                printf("2\t$%.2f\t\t$%.2f\n",CUR_BID[1], MIN_BID[1]);
                printf("3\t$%.2f\t\t$%.2f\n",CUR_BID[2], MIN_BID[2]);
                printf("4\t$%.2f\t\t$%.2f\n",CUR_BID[3], MIN_BID[3]);
                printf("5\t$%.2f\t\t$%.2f\n",CUR_BID[4], MIN_BID[4]);

                menu1();
            }


            else if (selection == 2)
            {
                int k;
                float usr_bid;

                printf("Which auction would you like to bid on? (1-5)\n");
                scanf("%d", &k);

                if (CUR_BID[k-1] != 0.00)
                    MIN_BID = CUR_BID[k-1] + MIN_BID[k-1];
                else
                    printf("The minimum bid is %.2f\n", MIN_BID[k - 1]);

                printf("How much would you like to bid?\n");
                scanf("%f", &usr_bid);
                if (usr_bid < MIN_BID[k-1])
                    printf("Sorry, that bid is not high enough.\n");
                else
                    CUR_BID[k-1] = usr_bid + CUR_BID[k-1];

                menu1();
            }

            else
            {
                int i;

                for (i=0; i<cars; i++)
                    if (CUR_BID!=0)
                        printf("Auction %d sold for $%f\n", CAR[i],CUR_BID[i]);
                    else
                        printf("Auction %d did not sell.\n");

                break;
            }
    }

            fclose(ifp);

        return 0;
    }


    int menu1()
    {
    printf("Please make a selection (In all caps):\n");
        printf("\tView Auctions [VIEW]\n");
        printf("\tBid on an Auction [BID]\n");
        printf("\tClose Auctions [CLOSE]\n");
    }

有什么想法吗?

MIN\u BID
有数组类型。你得选一个位置

MIN_BID[0] = ...

MIN\u BID
具有数组类型。你得选一个位置

MIN_BID[0] = ...

MIN\u BID
是一个浮点数组,但您试图只为其分配一个
float
。看起来你想要的是
minu-BID[k-1]=CUR-BID[k-1]+minu-BID[k-1]

minu BID
是一个浮点数数组,但您试图只为其分配一个浮点数。看起来你想要的是
minu-BID[k-1]=CUR-BID[k-1]+minu-BID[k-1]

您不能分配给数组,更不用说将浮点分配给浮点数组了。要么让它成为一个浮点数,要么选择一个元素分配给它。“有什么想法吗?”——你是说除了非常明显的想法之外?我的意思是,见鬼,编译器甚至给你解释清楚了。你不能给数组赋值,更不用说给浮点数组赋值了。要么让它成为一个浮点数,要么选择一个元素分配给它。“有什么想法吗?”——你是说除了非常明显的想法之外?我的意思是,见鬼,编译器甚至给你拼出来了。