谁知道我这C语言的计算器的程序哪里错误了?

#include <stdio.h>
main()
{
double n1=0.0;
double n2=0.0;
char o=0;
printf("请输入:");
scanf("%lf%c%lf",n1,o,n2);
switch(o)
{
case'+':
printf("=%lf\n",n1+n2);
break;
case'-':
printf("=%lf\n",n1-n2);
break;
case'*':
printf("=%lf\n",n1*n2);
break;
case'/':
if(n2=0)
printf("输入错误/n");
else
printf("=%lf\n",n1/n2);
break;
case'%':
if(n2=0)
printf("输入错误/n");
else
printf("=%ld\n",(long)n1%(long)n2);
break;
default:
printf("计算不在范围之内");
break;

}
}

scanf("%lf%c%lf",n1,o,n2);//这句错了。
scanf("%lf%c%lf",&n1,&o,&n2);//给地址赋值,前面加&
温馨提示:内容为网友见解,仅供参考
无其他回答

谁知道我这C语言的计算器的程序哪里错误了?
scanf("%lf%c%lf",n1,o,n2);\/\/这句错了。scanf("%lf%c%lf",&n1,&o,&n2);\/\/给地址赋值,前面加&

用C语言编写一个加减乘除计算器,不知道哪儿出错了。请各位帮帮忙!谢谢...
首先,scanf("%f%c%f",&a&t&b)这句有错,缺逗号。应改为scanf("%f%c%f",&a,&t,&b);其次, if(get(=))这句有错。字符输入有两种方式 1 char s;scanf("%c", &w);2 char s;s = getchar();字符型数组的输入方式有 char s[ ];gets(s);而用get来输入单个字符是不合法的...

C语言代码简单计算器,为什么运行结果多了0.000001(\/\/̀Д\/́\/)是...
二进制计算完毕再换算为十进制的时候我们就发现了误差。你的程序没有错误,这个问题无法避免。

c语言编写的加减乘除计算器,搞不懂哪里错了。
main(){ double a,b;char c;printf("Please input the first number:");getchar(); \/\/这个函数的目的是去掉回车符,下同 scanf("%lf",&a);printf("Please input + - * \/:");getchar();scanf("%c",&c);printf("Please input the second number:");getchar();scanf("%lf",&b...

这个c语言代码错哪里了?
C编译的程序对语法检查并不像其它高级语言那么严格,这就给编程人员留下“灵活的余地”,但还是由于这个灵活给程序的调试带来了许多不便,尤其对初学C语言的人来说,经常会出一些连自己都不知道错在哪里的错误。看着有错的程序,不知该如何改起,通过对C的学习,积累了一些C编程时常犯的错误,以供参考...

C语言计算器程序错误
第一次计算完毕z=10之后,没有更新i的位置,循环第二次又计算了z=0。所以你b数组最后存储的是 10,0,2,3,3,1,于是计算成了 10+0*2\/3-3等于7.在计算完z的数值后,要更新i的位置,在j=j+1与x=z之间添加 i = k -1这一句,如下。简单测了一下,应该好了。……while(a[j]>='...

这是个c语言分数计算器程序,请问各位大神,为什么输入数据运行之后不显示...
,fz,fm);}void add(int a,int b,int c,int d) {int u1,u2,v = gbs(b,d),fz1,fm1;u1 = v \/ b * a;u2 = v \/ d * c;fz1 = u1 + u2;fm1 = v;yuefen(fz1,fm1);}void mul(int a,int b,int c,int d) {int u1,u2;u1 = a * c;u2 = b * d;...

C语言新手问题,看看我写的表达式计算器错哪了(还没实现括号)
if(tempstr[0]!='\\0')\/\/考虑3:这里原意是要检查输入错误,但是如何处理负数呢?{ signal[l]=*p;l++;str[j]=atof(tempstr);\/\/考虑1:用系统函数效率更高 j++;n++;for(;m>=0;)tempstr[--m]='\\0';\/\/之前已经累加过1 所以回滚的时候要先减一 m = 0; \/\/for结束后m=-1;} \/\/...

C语言计算器程序错误
你好 你把后三个函数的返回值不要用double型的result接收了 重新定义一个int型的iResult接收 试试吧 你写得好工整,很方便读代码

c语言写计算器出现错误
字符,要用单引号,,,字符串才是是双引号 if(c == '+')s = i + y;else if(c == '-')s = i - y;else if(c == '*')s = i * y;else if(c == '\/')s = i \/ y;

相似回答
大家正在搜