char op; int value1, value2; scanf("%d%c%d", &value1, &op, &value2); switch(op){ case '+': printf("%d", value1 + value2); break; case '-': printf("%d", value1 - value2); break; case '*': printf("%d", value1 * value2); break; case '/': if(value2 != 0){ printf("%d", value1 / value2); }else{ printf("Error"); } break; case '%': if(value2 != 0){ printf("%d", value1 % value2); }else{ printf("Error"); } break; default: printf("Error"); break; }
时间: 2024-04-27 20:20:17 浏览: 16
这段程序是一个简单的计算器,它可以接收两个整数和一个运算符,然后根据运算符进行相应的计算,并输出结果。其中,运算符可以是加号、减号、乘号、除号和取模运算符。如果输入的除数为 0,则输出 "Error"。
下面是这段程序的逐行解释:
1. char op; int value1, value2; //定义一个字符型变量 op 和两个整型变量 value1 和 value2。
2. scanf("%d%c%d", &value1, &op, &value2); //从标准输入中读取两个整数和一个字符,并将它们分别赋值给 value1、op 和 value2。
3. switch(op){ //根据运算符 op 进入相应的分支。
4. case '+': printf("%d", value1 + value2); break; //如果运算符是加号,则输出 value1 + value2 的结果。
5. case '-': printf("%d", value1 - value2); break; //如果运算符是减号,则输出 value1 - value2 的结果。
6. case '*': printf("%d", value1 * value2); break; //如果运算符是乘号,则输出 value1 * value2 的结果。
7. case '/': //如果运算符是除号,则判断除数是否为 0,如果不是,则输出 value1 / value2 的结果,否则输出 "Error"。
8. if(value2 != 0){
9. printf("%d", value1 / value2);
10. }else{ printf("Error");
11. } break;
12. case '%': //如果运算符是取模运算符,则判断除数是否为 0,如果不是,则输出 value1 % value2 的结果,否则输出 "Error"。
13. if(value2 != 0){
14. printf("%d", value1 % value2);
15. }else{ printf("Error");
16. } break;
17. default: printf("Error"); break; //如果运算符不是加、减、乘、除或取模运算符,则输出 "Error"。
18. }