Vergil_yamato 2021-02-26 21:13 采纳率: 0%
浏览 43

c语言第二次judge调用为啥被跳过了一样

#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;
    double z = 0.0;
    double result2 = 0;
    char flag1;
    
    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;
        
        
        scanf("%c%lf", &flag, &z);
        judge(flag, &result1, &z, &result2);    
        if(error==1)
        {
            ling=0;
        
        }
        else
        {
            printf("%.3lf%c", result2, flag);
            ling=1;
        }            
    }
    return 0;
}
            
     
 

  • 写回答

1条回答 默认 最新

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料