有没有其他方法可以处理此永久运行的代码?

时间:2019-06-16 07:05:54

标签: c loops

#include <stdio.h>
int main()
{
    int n, r, i, count = 0;
    for (i = 0; i <= 100; i++)
    {
        while (i != 0)
        {
            r = i % 10;
            if (r == 3)
            {
                count++;
            }
            i = i / 10;
        }
    }

    printf("occurrences of 3 =%d ", count);
    return 0;
}

我需要找出数字“ 3”在0到100之间出现了多少次。但是这段代码会永远运行。

1 个答案:

答案 0 :(得分:1)

您每次都会从内部i的循环中0while,这样您的for循环将永远运行。

在内部while循环中使用一些临时变量。

    int temp = i;
    while (temp != 0)
    {
        r = temp % 10;
        if (r == 3)
        {
            count++;
        }
        temp = temp / 10;
    }