算数运算时输出结果为“-1.#IND”?这是为什么? 我是新手,请多关照
小弟是新手,这几天在自己用C程序编写简单的计算器程序,遇到了以下问题,
实在找不出原因,希望大家帮我看看。。。。。。
运行环境:VC6.0
问题概述:
当一次进行运算时,输入“+8”,输出结果为“108”;紧接着进行第二次
运算时,输入“+8”,本应该输出“116”,输出结果为“-1.#IND”;如果继续进行运算,输入“运
算符+数字”,输出结果仍为“-1.#IND”。
每次重新开启程序后,重复出现上述问题。
问题程序如下:
#include<stdio.h>
#include<Dos.h>
/***************************继续四则运算****************************/
float jixu(char e,char c,float d)
{
float jg;
switch(c)
{
float jg;
case '+':
{
jg=e;
jg+=d;
return jg;
break;
}
case '-':
{
jg=e;
jg-=d;
return jg;
break;
}
case '*':
{
jg=e;
jg*=d;
return jg;
break;
}
case '/':
{
jg=e;
jg/=d;
return jg;
break;
}
}
}
/*****************************主函数*******************************/
float main()
{
float z=100;
while(1)
{
float b,jg;
char op;
printf("请继续操作(依次输入“运算符+数字”)\n\n");
printf("%g",z);
scanf("%c%f",&op,&b);
z=jixu(z,op,b);
printf("\n计算结果是: %g\n\n",z);
system("pause");
printf("\n");
system("cls");
}
return 0;
}