0

我有这个代码:

#include<stdio.h>
#include<conio.h>
#include<math.h>

float sinfa(num1, num2)
{
    float fc;
    float powers;
    if(num1 == ""){
    powers = pow(num2,4);
    }else{
    powers = pow(num1,4);
    }
    fc = sin(num1-powers+1);
    return (fc);
}

float tp(fa,fb,num1,num2)
{
    float p;
    float fm2 = fa*num2;
    float fm1 = fb*num1;
    p = (fm2-fm1)/(fa-fb);
    printf("%f",fa);
    return (p);
}

float main()
{
double num1;
double num2;
float fa;
float fb;
float p1;

    clrscr();
    printf("Enter number 1: \n");
    scanf("%d", &num1);
    getch();
    printf("Enter number 2: \n");
    scanf("%d", &num2);
    getch();
    clrscr();
    fa = sinfa(num1);
    printf("%f \n",fa);
    getch();
    fb = sinfa(num2);
    printf("%f",fb);
    getch();
    clrscr();
    p1 = tp(fa,fb,num1,num2);
    printf("%f",p1);
    getch();

}

我一直从函数 tp 得到 0,当我向他们发送任何想法时,参数没有输入,为什么?因为对于 sinfa,参数被发送并返回一个值

谢谢你

4

2 回答 2

4

您需要为函数参数指定类型。

float tp(float fa,float fb,int num1,int num2)

否则它们会被考虑int,这会导致混乱的效果。

同样,您应该修复

float sinfa(int num1, int num2)

这不会引起问题,但明确说明您的意思总是好的。

于 2013-01-28T03:46:47.577 回答
3

始终牢记一件事,养成在函数声明和函数定义时提及变量数据类型的习惯。在这里,您没有提到类型,这意味着它正在将其视为默认 dat 类型int

float tp(fa,fb,num1,num2)
         ^^missing data type at all parameter, mention data type
于 2013-01-28T03:49:31.043 回答