我不明白这个程序出了什么问题

I can't understand what's going wrong in this program

#include<math.h>
#include<stdio.h>
int main(void)
{
    int i = 0;

    int f = 10000;

    int div1 = (powl(10,i));

    int temp1 =  f/div1;

    for(i = 2; temp1 > 1; i++)
    {
        printf("%i\n",temp1);
    }
}

据我所知,div1 的值应该是 100,1000,10000... I 中相应的增量。然后 temp1 应该是 100,10,然后循环停止(?)。但是我得到了一个无限循环 10000 10000 10000 10000 ......

谁能解释一下我做错了什么?

for 循环检查 temp1,但 temp1 未在循环体中修改。尝试将所需的修改放在循环体内或作为 for 循环中的最后一个表达式;变量 i 可能根本不需要。

您的 for 声明应该是这样的。您错过了在 for 循环

中调用那些语句
    for(i = 2; temp1 > 1; i++)
    {
        div1 = (powl(10,i));

        temp1 =  f/div1;
        printf("%i\n",temp1);

    }