我有一个问题陈述,该陈述指出要计算l
和r
之间的除数,然后除以k
,但是,我总是得到{{1} }作为我的输出。
0
答案 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;
}