我的变量没有按预期获得 valye

My variable isn't getting valye as expected

本文关键字:valye 变量 我的      更新时间:2023-10-16

为什么这段代码没有像预期的那样工作?

当我开始调试proizvod总是在1,但它应该是

 0.75 = 1 - (1/4) and so on.

我的代码是这样的

#include "stdafx.h"
#include <iostream>
using namespace std;
int _tmain()
{   
    int plusminus = 1, brojac = 0;
    double proizvod = 1; 
    double pi;
    while (brojac < 6)
    {
        plusminus = plusminus + 2;
        if (brojac % 2 == 0)
        {
            proizvod = proizvod - ( 1 / plusminus );
        }
        else
        {
            proizvod = proizvod + ( 1 / plusminus );
        }
        pi = proizvod * 4;
        brojac++;
    }
    cout << "Broj PI sa 6 decimala je " << pi << "  ." << endl;
}

1 / plusminus只能是0,因为plusminus是一个整数> 1(开始时增加2),所以你正在经历整数除法。

修复示例:1.0 / plusminus