#include <stdio.h>
int main(int argc, const char * argv[]) {
int data1,data2;
char op;
printf("input an expression:\n");
scanf("%d%c%d",&data1,&op,&data2); //输入运算表达式
switch(op) //根据输入的运算符确定执行的程序
{
case'+':
printf("%d+%d=%d\n",data1,data2,data1+data2);
break;
case'-':
printf("%d-%d=%d\n",data1,data2,data1-data2);
break;
case'*':
printf("%d*%d=%d\n",data1,data2,data1*data2);
break;
case'/':
if(0==data2) //为避免除0错误,检验除数是否为0,C语言规定表达式的左值必须是变量
printf("division by zero!\n");
else
printf("%d/%d=%d\n",data1,data2,data1/data2);
break;
default:
printf("invalid operator!\n");
}
}
运行结果:
错误示范:
忽略了C语言是从缓冲区中读取数据的。。。。