Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C i值增加后,成本价格变为0_C_Arrays_Loops - Fatal编程技术网

C i值增加后,成本价格变为0

C i值增加后,成本价格变为0,c,arrays,loops,C,Arrays,Loops,我一直在尝试执行以下代码。。然而,我总是得到同样错误的结果,我不知道为什么! 我的代码 int main() { char* sel_items[15]={"apple","ball","keyboard","mouse"}; /*Selling items*/ float sel_profit[15]; /*Selling Profit*/ float sel_price[15]; /*Selling Pri

我一直在尝试执行以下代码。。然而,我总是得到同样错误的结果,我不知道为什么! 我的代码

int main()
{
        char* sel_items[15]={"apple","ball","keyboard","mouse"};   /*Selling items*/
        float sel_profit[15];         /*Selling Profit*/
        float sel_price[15];          /*Selling Price*/
        float cost_price[15];        /*Original Price*/
        int i;
        for(i=0;i<4;i++)
        {                                                                                                                                                                                                                                                     printf("\n\t\t\tENTER %s PRICE: ",sel_items[i]);
                scanf("%f",sel_price);                           /*Selling Price input here*/
                printf("\n\t\t\tENTER %s SELLING PROFIT :",sel_items[i]);  
                scanf("%f",sel_profit);                          /*Selling Profit input here*/
                cost_price[i]=sel_price[i]*sel_profit[i]/100;        /*Original Price*/
                printf("\n\t\t\t\t\tORIGINAL PRICE : %f",cost_price[i]);
     }
return 0;
}
帮助我进行循环。当第一个循环被执行时,条件变为真,所有相应的指令都被执行,但在第二个循环之后,我不知道会发生什么。请帮助


您的
sel_price
sel_price
是数组,在循环中,您访问它们的方式是错误的,您应该使用索引访问数组元素

替换此
scanf(“%f”,选择价格)使用此
scanf(“%f”和&sel_price[i])
同样适用于sel_profit

您的for循环应该是这样的:-

 for(i=0;i<4;i++)
    {                                                                                                                                                                                                                                                     
            printf("\n\t\t\tENTER %s PRICE: ",sel_items[i]);
            scanf("%f",&sel_price[i]);                           /*Selling Price input here*/
            printf("\n\t\t\tENTER %s SELLING PROFIT :",sel_items[i]);  
            scanf("%f",&sel_profit[i]);                          /*Selling Profit input here*/
            cost_price[i]=sel_price[i]*sel_profit[i]/100;        /*Original Price*/
            printf("\n\t\t\t\t\tORIGINAL PRICE : %f",cost_price[i]);
    }

for(i=0;i你不在你的
scanf()
scanf(“%f”,sel\u price);
=>
scanf(“%f”,sel\u price+i”)
-两行之后的
sel\u price
也一样。老实说,我希望你的作业中有更多的代码,因为正如我写的那样,不需要数组这是什么意思/对不起,我是一个初学者代码总是读取
sel\u price[0]
sel\u price[0]
的值,但计算平均值为
sel\u price[i]*sel\u price[i]/100
其中(在第一次循环迭代之后)
i
不是零。由于
sel_price
sel_price
在循环之前是未初始化的,因此将值相乘会导致未定义的行为(在第一次循环迭代之后)。
 for(i=0;i<4;i++)
    {                                                                                                                                                                                                                                                     
            printf("\n\t\t\tENTER %s PRICE: ",sel_items[i]);
            scanf("%f",&sel_price[i]);                           /*Selling Price input here*/
            printf("\n\t\t\tENTER %s SELLING PROFIT :",sel_items[i]);  
            scanf("%f",&sel_profit[i]);                          /*Selling Profit input here*/
            cost_price[i]=sel_price[i]*sel_profit[i]/100;        /*Original Price*/
            printf("\n\t\t\t\t\tORIGINAL PRICE : %f",cost_price[i]);
    }