c-向函数传递不兼容的指针类型



我正在学习如何使用通过指针的函数。

我有一个函数,它把一个双d分成两部分,whole_partfraction_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和doublefraction_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;
}

最新更新