为什么我的 c++ 计算器每减去我输入的两个数字,而不是执行我要求它执行的操作

Why does my calculator in c++ subtract every two numbers I input, instead of doing the operations I asked it to do?

本文关键字:执行 两个 数字 操作 我要 计算器 c++ 我的 输入 为什么      更新时间:2023-10-16

一个简单的计算器C++

所以,我写了这个程序,但是当我输入任何两个数字和一个代表操作的数字时,它总是减去这两个数字,我不知道出了什么问题......

if (c = 1)

=登录C++表示分配,而不是比较。您需要==(在其他三种情况下也是如此)。

问题是你有

if (c = 1) {
    ...
}

表达式c = 1将 1 分配给c,然后返回 1,这是真的,因此它执行减法。

你的意思是说

if (c == 1) {
   ...
}
不幸的是,

你犯了C和C++与赋值运算符比较的新手错误。

if( c = 2 ) {

首先将值 2 分配给变量 c,然后测试truefalse(在 C/C++ 中为非零或零)。在这种情况下2,即为真。

您应该使用:

if( c==2 ) {

因为这会将 c 的值与 2 进行比较,并在它们相等的情况下返回非零值。