有关乘除计算的问题
此程序的作用是能进行简单的乘除运算,但几乎把用户可能出现的错误都考虑进去了感觉程序没什么问题,但就是只能显示开始的“请输入两个数A=”然后我输入一个数字,就运行不下去了,为什么啊
#include"stdio.h"
#include"stdlib.h"
int fun1(char *g) /*检查输入的数是否正常*/
{
int point=0,i,k=1;
for(i=0;i<sizeof(g);i++)
{
if(*(g+i)!='.'&&(*(g+i)<'0'||*(g+i)>'9'))
k=0;
else
if(*(g+i)=='.')
point++;
}
if(point>1)
k=0;
return k;
}
float fun2(char *p) /*将字符串组合成一个数*/
{
float q;
q=atof(p);
return q;
}
void main( )
{
int k;
char *x,*y,*x1,*y1;
float a,b,MUL,DIV;
printf("请输入两个数A=");
scanf("%s",x);
printf("B=");
scanf("%s",y);
if(fun1(x)==1&&fun1(y)==1)
{
a=fun2(x);
b=fun2(y);
MUL=a*b;
if(b==0)
{
while(1)
{
printf("您输入的数不符合除法运算规则,请重新输入");
printf("A=\n");
scanf("%s",x1);
printf("B=\n");
scanf("%s",y1);
a=fun2(x1);
b=fun2(y1);
if(b==0)
continue;
if(b!=0)
break;
}
}
if(b!=0)
DIV=a/b;
printf("相乘结果为%f,相除结果为%f\n",MUL,DIV);
}
}