error C2296: '%' : illegal, left operand has type 'float ' 什么意思啊 看不懂
#include<stdio.h>voidmain(){floata,b,c;charop;printf("请输入:");scanf("%d%c%d",&a,&op,&b...
#include<stdio.h>
void main()
{
float a,b,c;
char op;
printf("请输入:");
scanf("%d%c%d",&a,&op,&b);
switch(op)
{
case '+':c=a+b;break;
case '-':c=a-b;break;
case '*':c=a*b;break;
case '/':c=a/b;break;
case '%':c=a%b;break;
}
printf("%.2f%c%.2f=%.2f\n",a,op,b,c);
} 展开
void main()
{
float a,b,c;
char op;
printf("请输入:");
scanf("%d%c%d",&a,&op,&b);
switch(op)
{
case '+':c=a+b;break;
case '-':c=a-b;break;
case '*':c=a*b;break;
case '/':c=a/b;break;
case '%':c=a%b;break;
}
printf("%.2f%c%.2f=%.2f\n",a,op,b,c);
} 展开
4个回答
展开全部
你的第一句是float a,b,c;float类型是浮点型,也就是带小数的,你要把这个改成int型的才能使用%的操作符,因为使用%必须两边都是整型才行(int或long)
如果还有错误,请问是什么错误呢?
如果还有错误,请问是什么错误呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你定义的abc都是float型的,C语言里面float是不能够做取余运算的。
而且,scanf的地方也有问题,浮点数用f%
而且,scanf的地方也有问题,浮点数用f%
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
int main()
{
float a,b,c;
char op;
printf("请输入:");
scanf("%f %c %f", &a, &op, &b); //这边scanf用%f,并在3个参数间留一个空格,否则无法区分
switch(op)
{
case '+':c=a+b;break;
case '-':c=a-b;break;
case '*':c=a*b;break;
case '/':c=a/b;break;
//case '%':c=a%b;break; //这边是浮点型,不支持取余,先注掉
}
printf("%.2f%c%.2f=%.2f\n",a,op,b,c);
}
修改后编译通过,运行正常
int main()
{
float a,b,c;
char op;
printf("请输入:");
scanf("%f %c %f", &a, &op, &b); //这边scanf用%f,并在3个参数间留一个空格,否则无法区分
switch(op)
{
case '+':c=a+b;break;
case '-':c=a-b;break;
case '*':c=a*b;break;
case '/':c=a/b;break;
//case '%':c=a%b;break; //这边是浮点型,不支持取余,先注掉
}
printf("%.2f%c%.2f=%.2f\n",a,op,b,c);
}
修改后编译通过,运行正常
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询