为什么该区域回归为0?

Mat*_*son 6 c++ pi

这是代码.

int a;
int pi = 3.14;
int area;
int main()
{
    cout << "Input the radius of the circle ";
    cin >> a;

    a *= a *= pi >> area;

    cout << "The area is " << area;


}
Run Code Online (Sandbox Code Playgroud)

Ale*_*lex 13

>>与数字使用时操作是右移位,不分配.你想要的东西

area = a * a * pi;
Run Code Online (Sandbox Code Playgroud)

更新

您还需要使用浮点类型,否则您的答案将不是您所期望的.

float a;
float pi = 3.14f;
float area;
Run Code Online (Sandbox Code Playgroud)

  • 让我们浪费一些空间.让我们使用double作为我们的浮点默认值. (3认同)
  • 不,不是.调试舍入错误所需的时间很长. (2认同)

fre*_*low 7

我没有足够的耐心来破译你的奇怪代码.怎么样area = a * a * pi

  • 谢谢善良的陌生人 (2认同)

Cod*_*aos 6

你的代码没有任何意义.

pi(以及所有其他变量)需要是double或float,...不是int.int只能包含整数.而且pi显然不是不可或缺的.

a *= a *= pi >> area; 应该 area = a * a * pi;

>>是一个位移,而不是右侧的赋值
*=是乘法赋值而不是乘法.即它类似于left=left*right


Pud*_*all 2

圆的面积是 pi * r * r 因此你会想要这样做;

a = a * a * pi

希望有帮助

它们都需要是花车。