我正在用 C 语言制作一个简单的计算器,其中包含运算符 +-*/。我尝试制作一个计算器,但使用 do..while
时遇到一些问题。我认为 while (op != 'A', 'Q', 'M', 'D', 'S');
是不正确的。我在这里需要什么?
#include<stdio.h>
int main(void)
{
int x, y, result;
char op;
printf("****************\n");
printf("A-----Add\n");
printf("S-----Substract\n");
printf("M-----MUltiply\n");
printf("D-----Divide\n");
printf("Q-----Quit\n");
printf("****************\n");
printf("Enter the operation:");
scanf("%c", &op);
printf("Enter the two variables:");
scanf("%d %d", &x, &y);
do {
if (op == 'A')
result = x + y;
else if (op == 'S')
result = x - y;
else if (op == 'M')
result = x*y;
else if (op == 'D')
result = x / y;
else if (op == 'Q')
break;
} while (op != 'A', 'Q', 'M', 'D', 'S');
printf("%d %c %d = %d\n", x, op, x, result);
return 0;
}
最佳答案
!=
是一个二元运算符,它在左侧取一个值,在右侧取一个值。您无法通过仅在右侧列出多个值来一次比较多个值。
要使此代码以最小的更改运行,您可以将 op
与 每个 变量单独进行比较,并使用标准逻辑运算符(例如 &&
)。
您还需要考虑代码的逻辑。您使用的是 do ... while
循环,这意味着代码将至少运行一次,并且每次到达末尾时,如果 while
条件为真。第一次运行后会发生什么?如果用户输入 (op
) 不是指定的选项,会发生什么情况?并且您有一个“退出”选项,但是使用它时会发生什么?
关于c - 用C语言制作简单的计算器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33110940/