输入1 然后一直死循环

帮我排版,手机不太方便操作😢,这个死循环怎么解决。#include <stdio.h>#include <stdlib.h>#include <string.h>void shenghuo(){ printf("\n"); printf("\n"); printf("\n"); printf("\n"); printf("\n"); printf("\t\t\t\t----------------------------\n"); printf("\t\t\t\t请输入你所需商品代号\n"); printf("\t\t\t\t----------------------------\n"); printf("\t\t\t\t生活类:\n"); printf("\t\t\t\t----------------------------\n"); printf("\t\t\t\t01牙刷 10元 02水杯 5元\n"); printf("\t\t\t\t----------------------------\n"); printf("\t\t\t\t03黑人牙膏 30元 04毛巾 15元\n");}void shuiguo(){ double pg=2,xj=1.5,jz=0.3,zhon=0,xueli=3; printf("\n"); printf("\n"); printf("\n"); printf("\n"); printf("\n"); printf("\t\t\t\t----------------------------\n"); printf("\t\t\t\t请输入你所需商品代号\n"); printf("\t\t\t\t----------------------------\n"); printf("\t\t\t\t水果类:\n"); printf("\t\t\t\t----------------------------\n"); printf("\t\t\t\t01苹果 2元 02香蕉 1.5元 03橘子 0.3元 04雪梨 3元\n"); printf("\t\t\t\t----------------------------\n"); char a[3]; printf("\t\t\t\t"); getchar(); while(gets(a)!=EOF) { getchar(); if(strcmp(a,"01")==0) { zhon=zhon+pg; } else if(strcmp(a,"02")==0) { zhon=zhon+xj; } else if(strcmp(a,"03")==0) { zhon=zhon+jz; } else if(strcmp(a,"04")==0) { zhon=zhon+xueli; } } printf("\t\t\t\t一共%.0lf元\n",zhon); printf("\t\t\t\t----------------------------\n"); printf("\t\t\t\t谢谢惠顾!\n"); printf("\t\t\t\t----------------------------\n"); printf("\t\t\t\t输入1返回主菜单\n");}int main(){ printf("\n"); printf("\n"); printf("\n"); printf("\n"); printf("\n"); int h; printf("\t\t\t\t欢迎光临!\n"); printf("\t\t\t\t----------------------------\n"); printf("\t\t\t\t请输入你想要的商品种类\n"); printf("\t\t\t\t----------------------------\n"); printf("\t\t\t\t想要水果类商品请输入1\n"); printf("\t\t\t\t----------------------------\n"); printf("\t\t\t\t想要生活类商品请输入2\n"); printf("\t\t\t\t----------------------------\n"); printf("\t\t\t\t"); scanf("%d",&h); if(h==1) { system("cls"); shuiguo(); } else if(h==2) { system("cls"); shenghuo(); } return 0;}

你这代码可读性也太差了,调整一下格式方便找bug


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void shenghuo()
{
    printf("\n");
    printf("\n");
    printf("\n");
    printf("\n");
    printf("\n");
    printf("\t\t\t\t----------------------------\n");
    printf("\t\t\t\t请输入你所需商品代号\n");
    printf("\t\t\t\t----------------------------\n");
    printf("\t\t\t\t生活类:\n");
    printf("\t\t\t\t----------------------------\n");
    printf("\t\t\t\t01牙刷 10元 02水杯 5元\n");
    printf("\t\t\t\t----------------------------\n");
    printf("\t\t\t\t03黑人牙膏 30元 04毛巾 15元\n");
}
void shuiguo()
{
    double pg = 2, xj = 1.5, jz = 0.3, zhon = 0, jieshu;
    printf("\n");
    printf("\n");
    printf("\n");
    printf("\n");
    printf("\n");
    printf("\t\t\t\t----------------------------\n");
    printf("\t\t\t\t请输入你所需商品代号\n");
    printf("\t\t\t\t----------------------------\n");
    printf("\t\t\t\t水果类:\n");
    printf("\t\t\t\t----------------------------\n");
    printf("\t\t\t\t01苹果 2元 02香蕉 1.5元 03橘子 0.3元 04雪梨 3元\n");
    printf("\t\t\t\t----------------------------\n");
    char a[3];
    printf("\t\t\t\t");
    getchar();
    gets(a);
    printf("一共%.0lf元\n", zhon);
    printf("\t\t\t\t----------------------------\n");
    printf("\t\t\t\t谢谢惠顾!\n");
    printf("\t\t\t\t----------------------------\n");
    printf("\t\t\t\t输入1返回主菜单\n");
    scanf("%lf", &jieshu);
}
int main()
{
    printf("\n");
    printf("\n");
    printf("\n");
    printf("\n");
    printf("\n");
    int h;
    printf("\t\t\t\t欢迎光临!\n");
    printf("\t\t\t\t----------------------------\n");
    printf("\t\t\t\t请输入你想要的商品种类\n");
    printf("\t\t\t\t----------------------------\n");
    printf("\t\t\t\t想要水果类商品请输入1\n");
    printf("\t\t\t\t----------------------------\n");
    printf("\t\t\t\t想要生活类商品请输入2\n");
    printf("\t\t\t\t----------------------------\n");
    printf("\t\t\t\t");
    scanf("%d", &h);
    if (h == 1)
    {
        system("cls");
        shuiguo();
    }
    else if (h == 2)
    {
        system("cls");
        shenghuo();
    }
    return 0;
}

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void shenghuo()
{
    printf("\n");
    printf("\n");
    printf("\n");
    printf("\n");
    printf("\n");
    printf("\t\t\t\t----------------------------\n");
    printf("\t\t\t\t请输入你所需商品代号\n");
    printf("\t\t\t\t----------------------------\n");
    printf("\t\t\t\t生活类:\n");
    printf("\t\t\t\t----------------------------\n");
    printf("\t\t\t\t01牙刷 10元 02水杯 5元\n");
    printf("\t\t\t\t----------------------------\n");
    printf("\t\t\t\t03黑人牙膏 30元 04毛巾 15元\n");
}
void shuiguo()
{
    double pg = 2, xj = 1.5, jz = 0.3, zhon = 0, jieshu;
    printf("\n");
    printf("\n");
    printf("\n");
    printf("\n");
    printf("\n");
    printf("\t\t\t\t----------------------------\n");
    printf("\t\t\t\t请输入你所需商品代号\n");
    printf("\t\t\t\t----------------------------\n");
    printf("\t\t\t\t水果类:\n");
    printf("\t\t\t\t----------------------------\n");
    printf("\t\t\t\t01苹果 2元 02香蕉 1.5元 03橘子 0.3元 04雪梨 3元\n");
    printf("\t\t\t\t----------------------------\n"); char a[3];
    printf("\t\t\t\t"); scanf("%s",a);printf("一共%.0lf元\n", zhon);
    printf("\t\t\t\t----------------------------\n");
    printf("\t\t\t\t谢谢惠顾!\n");
    printf("\t\t\t\t----------------------------\n");
    printf("\t\t\t\t输入1返回主菜单\n");
    scanf("%lf", &jieshu);
}
int main()
{
    printf("\n");
    printf("\n");
    printf("\n");
    printf("\n");
    printf("\n");
    int h;
    printf("\t\t\t\t欢迎光临!\n");
    printf("\t\t\t\t----------------------------\n");
    printf("\t\t\t\t请输入你想要的商品种类\n"); printf("\t\t\t\t----------------------------\n");
    printf("\t\t\t\t想要水果类商品请输入1\n");
    printf("\t\t\t\t----------------------------\n");
    printf("\t\t\t\t想要生活类商品请输入2\n");
    printf("\t\t\t\t----------------------------\n");
    printf("\t\t\t\t");
    scanf("%d", &h);
    if (h == 1)
    {
        system("cls");
        shuiguo();
    }
    else if (h == 2)
    {
        system("cls");
        shenghuo();
    }
    return 0;
}