黑马程序员技术交流社区
标题:
用c语言写出的简易计算器程序运行时出现错误,求解!
[打印本页]
作者:
剑气近
时间:
2014-6-14 20:44
标题:
用c语言写出的简易计算器程序运行时出现错误,求解!
本帖最后由 剑气近 于 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;
}
这段程序运行时为什会这样?
作者:
huangqiwa
时间:
2014-6-14 23:12
楼主还有很多语法上的错误!
比如while();直接跟了;符号,这样子就直接结束了while循环
还有for循环里面,i=c,i=0,不知道是用意,然后后面判断i等于'='结束循环的条件,应该用i=="="而不是一个=
楼主再仔细巩固一下基础语法!加油!
作者:
剑气近
时间:
2014-6-15 20:50
huangqiwa 发表于 2014-6-14 23:12
楼主还有很多语法上的错误!
比如while();直接跟了;符号,这样子就直接结束了while循环
谢谢你的解答,确实基础语法不牢固,检查修改后程序正常运行,共同进步!
作者:
邱蚓
时间:
2014-6-15 21:42
看来我也要多努力了才行
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2