我一直在尝试执行以下代码。.但是,我一直得到相同的错误结果,我不知道为什么!我的代码
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;
}
这是程序的输出。
*ENTER apple PRICE: 50*
ENTER apple SELLING PROFIT :50
ORIGINAL PRICE : 25.000000 /*the loop of first item is coorect*/
ENTER ball PRICE: 100
ENTER ball SELLING PROFIT :20
ORIGINAL PRICE : 0.000000 /*i dont know what happens in the second loop*/
ENTER keyboard PRICE: 56
ENTER keyboard SELLING PROFIT :3
ORIGINAL PRICE : -0.000000
ENTER mouse PRICE: 244
ENTER mouse SELLING PROFIT :4
ORIGINAL PRICE : 0.000000*
通过循环为我提供帮助。当执行第一个循环时,条件变为真,所有相应的指令都将执行,但是在第二个循环后,我不知道会发生什么。请帮忙..
您的sel_price
和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]);
}