为什么我的 c++ 计算器每减去我输入的两个数字,而不是执行我要求它执行的操作
Why does my calculator in c++ subtract every two numbers I input, instead of doing the operations I asked it to do?
一个简单的计算器C++
所以,我写了这个程序,但是当我输入任何两个数字和一个代表操作的数字时,它总是减去这两个数字,我不知道出了什么问题......
if (c = 1)
=
登录C++表示分配,而不是比较。您需要==
(在其他三种情况下也是如此)。
问题是你有
if (c = 1) {
...
}
表达式c = 1
将 1 分配给c
,然后返回 1,这是真的,因此它执行减法。
你的意思是说
if (c == 1) {
...
}
不幸的是,
你犯了C和C++与赋值运算符比较的新手错误。
if( c = 2 ) {
首先将值 2 分配给变量 c
,然后测试true
或false
(在 C/C++ 中为非零或零)。在这种情况下2
,即为真。
您应该使用:
if( c==2 ) {
因为这会将 c
的值与 2
进行比较,并在它们相等的情况下返回非零值。
相关文章:
- 如何在两个 boost::multi_arrays (C++) 之间执行数学运算?
- 按 Tab 单步执行两个控制组
- 为什么循环体中的一个基本算术运算执行得比两个算术运算慢
- 在两个派生类之间执行专用代码
- 维护/维持两个代码集的风险,一个用于 CPU,一个用于 GPU,需要执行非常相似的功能
- C++ 两个函数除了一行之外执行相同的操作
- 在CUDA中使用小M的两个MXN矩阵执行矢量点产品的最快方法是什么?
- 如何使用灵活的碰撞库在两个点云或点云与机器人末端执行器模型之间进行碰撞检测
- 如何在R和C 中分别执行两个矩阵的矩阵产物
- 如何执行两个函数参数具有相同的模板类型
- C++ 如果 Else 两个语句都在不应该执行的时候执行
- C++中更快地执行两个程序的可能解释(使用 Python 比较)?
- 为什么两个执行矩阵乘法的过程并行运行比连续运行慢
- 防止在执行时将两个类中的两个对象转换为 bool:if(a!=b)
- 如何使用两个 for 循环执行唯一的洗牌
- 为什么这两个实现多维数组之间会有如此巨大的执行时间差
- 如何在GPU上的两个数据容器(最好是CUDA)上执行关系连接
- 两个代码段之间执行时间的奇怪差异
- 如何使用 boost 异步执行两个线程
- 程序似乎正在执行两个 if 语句