0

我需要编写一个程序来打印出 1 到 15 之间所有奇数的乘积。但是无论我尝试什么它都行不通,只会打印乘积。我搞砸了if语句吗?这是我的代码:

//Sophia Ali
#include <iostream>

using namespace std;



int main()
{
    int i;
    int product;

    for ( i = 1; i <=15; i+=2)
    {
        if(i%2!=0)
            product = product * i;
        else
            continue;

    }
    cout << "\n product: " << product;
    return 0;
}
4

2 回答 2

5

首先,您没有初始化product,这意味着您最终会遇到未定义的行为。您可能希望将其初始化为1

int product = 1;

此外,if循环中的条件将始终为真,因为i无论如何您每次迭代都会增加 2,因此它没有任何目的:

for ( i = 1; i <=15; i+=2)
{
    product = product * i;
}
于 2013-03-13T19:56:41.287 回答
0

C++ 没有为你定义任何东西。所以当你int product;在主函数的第二行声明时,你应该使用int product = 1;. 否则,当您product = product * i在 for 循环中使用时,您是在说将一个不存在的数字乘以 i,这是不可能的。

于 2013-03-13T20:00:14.590 回答