关于#输出#的问题,如何解决?

无法输出值

#include 

int main() {
    int l, r,sum=0;
    scanf("%d %d", &l, &r);
    for (int i = l; i <= r; i++) {
        while (i) {
            if (i % 10 == 2) {
                sum++;
            }
            i /= 10;
        }
    }
    printf("%d\n", sum);
    return 0;
}

img

内外循环,不能使用同一个循环因子i,修改如下,见注释,供参考:

#include <stdio.h>
int main() {
    int l, r,sum=0,t;
    scanf("%d %d", &l, &r);
    for (int i = l; i <= r; i++) {
        t = i;       //修改
        while (t) {  //(i) 修改
            if (t % 10 == 2) { //(i % 10 == 2) 修改
                sum++;
            }
            t /= 10; //i /= 10; 修改
        }
    }
    printf("%d\n", sum);
    return 0;
}

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^