#include<stdio.h>
int error = 0;
void judge(char flag, double *x, double *y, double *result)
{
if(flag=='+')
*result = *x+ *y;
else if(flag=='-')
*result = 1;
else if(flag=='*')
*result = (*x) * (*y);
else if(flag=='/')
{
if(*y==0)
{
printf("输入格式有误\n");
error = 1;
}
else
*result = *x / *y;
}
}
int main()
{
double x=0.0, y=0.0, result=0, result1=0;
int n = 1, sun=0;
char flag;
while(1)
{
int ling = 0;
error = 0;
printf("请输入算式\n");
scanf("%lf %c %lf", &x, &flag, &y);
judge(flag, &x, &y, &result);
if(error==1)
{
ling=0;
}
else
{
printf("%.3lf", result);
ling=1;
}
result1 = result;
double z = 0.0;
double result2 = 0;
char flag1;
while(ling)
{
scanf("%c", &flag1);
if(flag1=='=')
{
printf("运算结果为%.3lf\n", result1);
break;
}
else
{
scanf("%lf", &z);
judge(flag1, &result1, &z, &result2);
if(error==1)
{
ling = 0;
break;
}
else
{
printf("%.3lf", result2);
result1 = result2;
}
}
}
}
return 0;
}
>c语言第二次函数调用为啥不管用了呢?
请说明你输入了什么数据, 具体 ‘第二次’ 在哪里?
代码我运行了一下,第二次是可以用的,调用Judge没问题