我正在学习如何使用通过指针的函数。
我有一个函数,它把一个双d
分成两部分,whole_part
和fraction_part
。因此,"425.25"将被切成"425"one_answers".25"。
我收到了与传递指针类型相关的错误。我不确定哪里会出现这样的问题。任何帮助都将不胜感激!
#include <math.h>
#include <stdio.h>
#include <limits.h>
void chop(double, long *, double *);
int main(void)
{
double d;
long * whole_part;
double * fraction_part;
printf("enter a double ");
scanf("%lf", &d);
// Call the function
chop(d, &whole_part, &fraction_part);
printf("%.10lf chopped is %ln and %.10lf", d, whole_part, fraction_part);
return 0;
}
void chop(double d, long *whole_part, double *fraction_part)
{
*whole_part = (int)d;
*fraction_part = d - (double)whole_part;
}
初始问题:
不应将CCD_ 4whole_part和double
fraction_part在main中初始化为它们的变量指针。
函数chop()
应在尝试使用指向whole_part
的指针来确定fraction_part
时调用该指针。
#include <stdio.h>
#include <limits.h>
void chop(double, long *, double *);
int main(void)
{
double d;
long whole_part;
double fraction_part;
printf("enter a double ");
scanf("%lf", &d);
// Call the function
chop(d, &whole_part, &fraction_part);
printf("%.10lg chopped is %li and %.10lgn", d, whole_part, fraction_part);
return 0;
}
void chop(double d, long *whole_part, double *fraction_part)
{
*whole_part = (int)d;
*fraction_part = d - (double)*whole_part;
}