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]);
}