#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的无限循环......
有人可以解释我做错了什么吗?
答案 0 :(得分:2)
for
循环检查temp1
,但temp1
未在循环体中修改。尝试将所需的修改放在循环体内或作为for
循环中的最后一个表达式;变量i
可能根本不需要。
答案 1 :(得分:1)
您的for
声明应该是这样的。您错过了在for
循环
for(i = 2; temp1 > 1; i++)
{
div1 = (powl(10,i));
temp1 = f/div1;
printf("%i\n",temp1);
}