我不明白这个程序出了什么问题
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);
}
#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);
}