我的代码输出总是为0

时间:2018-07-27 12:18:02

标签: c++

我有一个问题陈述,该陈述指出要计算lr之间的除数,然后除以k,但是,我总是得到{{1} }作为我的输出。

0

3 个答案:

答案 0 :(得分:4)

您需要==而不是=

if(i % k == 0){

=是分配,==是相等性测试

答案 1 :(得分:2)

if(i % k = 0)

这是UB,因为两个i都用不确定的值初始化(l未初始化)并且k未初始化。即使您按照@john的话做,它仍然是UB,您什么也不会期望,或者期望任何东西都可以作为输出。

答案 2 :(得分:0)

如果条件从=更改为==,然后将某些值设置为l, r and k,则它们未指定

尝试一下!

int main() {
    int l=0, r=10, k=2, i;
    int count = 0;
    for (i = l; i < r; i++) {
        if (i % k == 0) {
            count++; 
        }
        else
            count = count + 0;
    }
    cout << count;
}