【发布时间】:2017-02-10 19:58:09
【问题描述】:
我正在尝试制作一个可以识别直角三角形的公式。我在使用“a”和 = 符号时遇到了一些问题。
错误 1:'=';左操作数必须是左值。
错误 2:“a”。表达式必须是可修改的左值。
有什么帮助吗?
#include "stdafx.h"
#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
int main()
{
int a;
int b;
int c;
cout << "Input value for A." << endl;
cin >> a;
cout << "Input value for B. " << endl;
cin >> b;
cout << "Input value for C. " << endl;
cin >> c;
a ^ 2 + b ^ 2 = c ^ 2;
return 0;
}
【问题讨论】:
-
a ^ 2 + b ^ 2不是一个可赋值的表达式,这个事实有什么难理解的? -
你希望通过写“a ^ 2 + b ^ 2 = c ^ 2;”来完成什么?这显然是错误的,但是如果不解释您希望在这里完成的工作,就不可能有答案。此外,您知道
^在 C++ 中是异或运算符,而不是指数吗? -
如果您正在测试相等性,请使用 ==
标签: c++ variables include int lvalue