|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- #include <stdio.h>
- #include <stdbool.h>
- int main()
- {
- int op1, op2;
- char ch;
- float result;
- bool invalid = false;
- printf("请输入式子:");
- scanf("%d %c %d", &op1, &ch, &op2);
- switch (ch)
- {
- case '-': op2 = -op2; // no break
- case '+': result = (float)op1 + op2; break;
- case '*': result = (float)op1 * op2; break;
- case '/':
- if (op2 != 0)
- {
- result = (float)op1 / op2;
- break;
- }
- else
- {
- invalid = true;
- break;
- }
- }
- if (invalid)
- {
- printf("除数不能为零!\n");
- }
- else
- {
- printf("结果是:%.2f\n", result);
- }
- return 0;
- }
复制代码
switch (ch)
{
case '-': op2 = -op2; // no break
case '+': result = (float)op1 + op2; break;
case '*': result = (float)op1 * op2; break;
case '/':
if (op2 != 0)
{
result = (float)op1 / op2;
break;
}
else
{
invalid = true;
break;
}
}
可以说一下这一段什么意思吗
谢谢
- switch (ch)
- {
- case '-': op2 = -op2; // no break //如果ch是‘-’。将减数变成负的减数,然后执行下一个case,也就是说加法运算。意思就是a-b=a+(-b);
- case '+': result = (float)op1 + op2; break; // 如果成是’-‘或者加,执行完这一句跳出switch
- case '*': result = (float)op1 * op2; break; // ch是’*‘,执行这一句,跳出switch
- case '/': // 如果’/',检查除数是否为0,
- if (op2 != 0) //除数不为零,进行除法运算。并跳出switch
- {
- result = (float)op1 / op2;
- break;
- }
- else // 如果除数为零,将无效信号invalid设置为true,不进行除法运算跳出switch
- {
- invalid = true;
- break;
- }
- }
复制代码
|
|