通过函数调用在 c 中进行权重转换

Weight conversion through function call in c

提问人:Harshal Malani 提问时间:9/11/2023 更新时间:9/12/2023 访问量:22

问:

我有一个问题陈述如下:定义一个函数,该函数以公斤为单位接收商品的重量,并以 grm,tons,lbs 为单位返回重量。从 main() 调用此函数并在 main() 中打印结果。 现在我的问题是我已经理解了指针的理论,但我根本无法在我的程序中实际应用它,我只是做一个猜测工作,如果它有效,它有效,否则我就在这里。 我的代码如下,这是绝对错误的:

#include<stdio.h>
int weight(float*,float *,float*);
int main()
{
float a,b,c;
weight(&a,&b,&c);
printf("Gram:%f",a);
return 0;
}
int weight(float *grm,float *ton,float *lbs)
{
float kg;
printf("Enter the weight of a commodity in kgs:");
scanf("%f",&kg);
grm=1000*kg;
ton=0.001*kg;
lbs=2.25*kg;
}    
函数 调用

评论


答:

0赞 Silent 9/11/2023 #1

您遇到的问题是类型不匹配:您正在尝试为行中的指针( 是指针)分配浮点值(类似地为 和 )。*grmgrm=1000*kg;tonlbs

在分配指针时,需要取消引用指针。.grm*grm = 1000 * kg;

还有一个小小的吹毛求疵:你不会从你的函数中返回任何东西,那么为什么不直接将其声明为 ?weightvoid