在检查变量是否为空或为空的行上,我不断收到非法使用字符。
有谁知道为什么会这样?
错误点在这里:
if((fa == "" && fp == "") || (fb == "" && fp == "")){
虽然它在我只是不知道是什么导致这个错误之前有效。
编辑:
现在更改了代码,错误是函数 sinfa 的参数太少。
我只想一次将一个参数传递给这个函数,是否有可能或者我必须创建另一个函数来做到这一点,以便我可以单独满足它们?
谢谢你。:)
#include<stdio.h>
#include<conio.h>
#include<math.h>
#define PI 3.14159265359
float sinfa(float num1,float num2)
{
float fc;
float powers;
float rad_angle;
if(num1 != 0){
rad_angle = num1 * (PI / 180.0);
powers = pow(rad_angle,4);
fc = sin(rad_angle)-powers+1;
}else{
rad_angle = num2 * (PI / 180.0);
powers = pow(rad_angle,4);
fc = sin(rad_angle)-powers+1;
}
return (fc);
}
float sinp(float p1)
{
float fop;
float ppowers;
printf("%f",p1);
ppowers = pow(p1,4);
fop = sin(p1)-ppowers+1;
return (fop);
}
float tp(float fa,float fb,int num1,int num2)
{
float p;
float fm2 = fa*num2;
float fm1 = fb*num1;
p = fm2-fm1/fa-fb;
return (p);
}
float main()
{
float num1;
float num2;
float fa;
float fb;
float p1;
float fp;
clrscr();
printf("Enter number 1: \n");
scanf("%f", &num1);
getch();
printf("Enter number 2: \n");
scanf("%f", &num2);
getch();
clrscr();
if((fa == 0 && fp == 0) || (fb == 0 && fp == 0)){
fa = sinfa(num1);
fb = sinfa(num2);
p1 = tp(fa,fb,num1,num2);
fp = sinp(p1);
}else{
if((fa*fp) < 0){
num1 = num1;
num2 = p1;
fa = sinfa(num1);
fb = sinfa(num2);
p1 = tp(fa,fb,num1,num2);
fp = sinp(p1);
}
if((fb*fp)< 0){
printf("\n 2");
getch();
}
}
}