#include <stdio.h>
int main()
{
int M,N;
char S;
printf("输入需要计算的数 格式为 M+N \n");
scanf("%d%d",&M,&N,&S);
switch(S)
{
case '+':printf("%d+%d=%d\n",M,N,M+N);break;
case '-':printf("%d-%d=%d\n",M,N,M-N);break;
case '':printf("%d%d=%d\n",M,N,M*N);break;
case '/':
{
if(N!=0){
printf("%d/%d=%d\n",M,N,M/N);
break;}
else{
printf("M不能为0\n");
break;
}
}
case '%':printf("%d%%d=%d\n",M,N,M%N);break;
default:printf("输入格式错误\n");
return 0;
}
}
这串代码是编译一个计算器,咋会在运行时,格式错误
你的输入语句少了一个呀
scanf("%d%c%d",&M,&S&N);
S scanf输入是%d也就是整数,case里比较的是字符,肯定不相等