代码编译但不起作用!cmd窗口只是理想和理想,但什么也没发生

Code compiles but doesn't work! The cmd window just sits ideal and ideal but nothing happens

本文关键字:理想 什么 不起作用 编译 cmd 窗口 代码      更新时间:2023-10-16

问题是使用函数计算Sin(x(级数。代码编译成功,但不起作用,甚至没有运行。

#include <stdio.h>
#include <math.h>
void sine(int, float *);
void factorial(int, int *);
int main()
{
int x, fact;
float sol;
scanf("%d", &x);
sine(x, &sol);
printf("Solution of Sin(x) series is %f.", sol);
return 0;
}
void sine(int x, float *sol)
{
int i;
int fact=1;
factorial(x, &fact);
for (i=3;i>0;i+=2)
*sol=x+pow(-1, i)*pow(x, i)/fact;
}
void factorial(int x, int *fact)
{
int j;
for (j=1;j<=x;j++)
*fact*=j;
}

sine函数中的for循环似乎不正确。您正在检查i > 0,但您将其初始化为 3 并按 2 的步骤递增。该循环可能只有在i溢出时才会被打破,但这是未定义的行为(请参阅此处(。

void sine中的循环是无限的。您那里的终止条件错误。

for (i=3;i<=0;i+=2) {...}