循环计数代码无法正常工作

问题描述 投票:0回答:2

我是个新手,大约 3 天前才开始编程。我已经完成了基础知识的学习,现在陷入了这个问题,但我似乎无法调试它。

我希望它遍历整数来找到所有 3,但相反,它会计算其中的每个数字(例如,如果我输入 1212,它会返回 4。我想要一个 0。)

#include<iostream>
using namespace std;

int main() {
    long long n; 
    cin >> n; 
    int cnt = 0;
    while (n != 0) {
        int k = n % 10; 
        if (k == 3); { 
            cnt++;
        }
        n /= 10;
    }
    cout << cnt;
}

所有帮助将不胜感激。感谢您的阅读!

c++ loops while-loop
2个回答
1
投票

这是因为您在 if 语句后使用了分号

if (k == 3);

正确的方法是(删除后;代码工作得很好)

if (k == 3)

在 C++ 中,不添加 ;在 if 语句之后。


0
投票

您在 if 语句后使用了分号来终止它,并且计数器正常运行而不考虑条件。 删除分号,循环应该可以正常工作。

© www.soinside.com 2019 - 2024. All rights reserved.