本帖最后由 剑气近 于 2014-6-15 21:10 编辑
我用c语言写了个简单的计算器程序,编译运行时却出现了一些不该出现的错误并且还发现了答案会一闪而逝,久思无果,特来求助!谢谢!
问题1:
#include <stdio.h>
#include <math.h>
main()
{ int i;
double a,b,d,e;
char c;
printf("请输入两个数字:\n");
printf("请输入第一个数字:\n");
scanf("%lf",&a);
while ( (c = getchar()) != '\n' && c != EOF ) ;
printf("请输入第二个数字:\n");
scanf("%lf",&b);
while ( (c = getchar()) != '\n' && c != EOF ) ;
printf("请输入一个算术符号:\n");
scanf("%c",&c);
while ( (c = getchar()) != '\n' && c != EOF ) ;
for(i=c,i=0;i='=';i++)
{
switch (c)
{
case '+':d=a+b;break;
case '-':d=a-b;break;
case '*':d=a*b;break;
case '/':d=a/b;break;
default :printf("输入的算术符号有误!");
}
printf("请问算法结束不?如果结束,请按=得出你的答案。\n");
printf("否则,请按第三个数字:\n");
while ( (c = getchar()) != '\n' && c != EOF ) ;
scanf("%lf",&e);
a=d;
b=e;
break ;
}
printf("答案是:%lf\n",d) ;
return 0;
}
这段程序运行时为什会这样? |