小白求助
#include <stdio.h>#include <stdbool.h>
int main()
{
float op1, op2;
char ch;
float result;
bool invalid = false;
printf("请输入式子:");
scanf("%f %c %f", &op1, &ch, &op2);
switch (ch)
{
case '-': op2 = -op2; // no break
case '+': result = op1 + op2; break;
case '*': result = op1 * op2; break;
case '/':
if (op2 != 0)
{
result = op1 / op2;
break;
}
else
{
invalid = true;
break;
}
}
if (invalid)
{
printf("除数不能为零!\n");
}
else
{
printf("结果是:%.2f\n", result);
}
return 0;
}
大佬们,能不能解释第一个else里面的invalid是啥意思?为什么第二个if后面的表达式是invalid? 以下为个人理解,仅供参考
解释第一个else里面的invalid是啥意思?
bool invalid = false;
bool 类型的变量,他的值 只有两个TRUEFALSE,就是真假 的意思
为什么第二个if后面的表达式是invalid?
if()是看括号里的表达式的结果是真还是假的,invalid 本身就是 真假的结果
页:
[1]