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

问题描述 投票:0回答:1

我有一个问题陈述如下:定义一个函数,接收商品的重量(以千克为单位)并返回以克、吨、磅为单位的重量。从 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;
}    
function call
1个回答
0
投票

您遇到的问题似乎是类型不匹配,您试图将浮点值分配给第

*grm
行中的指针(
grm=1000*kg;
是指针)。

分配时需要取消对

grm
指针的引用。
*grm = 1000 * kg;

© www.soinside.com 2019 - 2024. All rights reserved.