c - i 值增加后成本价格变为 0
问题描述
我一直在尝试执行以下代码。但是,我不断得到相同的错误结果,我不知道为什么! 我的代码
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
andsel_profit
是数组,在你的循环中你访问它们的方式是错误的,你应该使用索引来访问数组元素。
scanf("%f",sel_price);
用这个替换它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]);
}
推荐阅读
- python - 如何以更简洁的方式为 discord.py 编写嵌入代码?
- c# - 部署的 gRPC 应用程序将仅使用端口 5000 - 需要它来监听端口 https://asdf.com:30000
- python - ImportError:无法从 open3d 导入名称“linux”
- r - 使用 rstan 运行回归估计
- c# - SSH.NET 进程无法访问该文件,因为它正被另一个进程使用
- ios - 为什么转换 GMT 时间时 DatetimeComponents 没有返回小时、分钟和秒
- php - laravel 1005 无法创建表 `testproject`.`chatter_discussion` (errno: 150 "外键约束格式不正确")
- c# - Odata 问题 C# - 无法加载文件或程序集“Microsoft.AspNet.OData”
- java - 使用 CompletableFuture 和线程池处理大量任务
- spring-rsocket - spring rsocket 响应元数据