【发布时间】:2017-08-28 11:14:20
【问题描述】:
#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(i=2;temp1>1;i++)你的循环条件与i无关,temp1在循环中没有变化 -
不是 temp1 = f/(powl(10/i));所以是 i 的函数,应该随 i 改变?
-
那是 before 循环不在里面.. temp1 在初始值之后不会改变
-
你真的需要了解一下 for 循环是如何工作的。我的建议是阅读一些 C 初学者教程
标签: c for-loop infinite-loop