C语言long long类型数据如何比较?

#include<stdio.h>
#include<stdlib.h>
int main()
{
long long m=21321;
long long i=10;
int s;
const long long a=10;
for(s=0;m/i>=a;i*a)
{
s++;
}
printf("%d\n",i);
printf("%d\n",s);
printf("%d",m/i>=a);
}
为啥是个死循环啊?

因为这个for循环的末尾,i*a是一个“无用”的操作,并没有改变任何变量的值。

下面的修改,不知是否“合意”?

#include<stdio.h>
#include<stdlib.h>
int main()
{ long long m=21321;
  long long i=10;
  int s;
  const long long a=10;
  for(s=0; m/i>=a; i*=a)
  { s++;
  }
  printf("%d\n",i);
  printf("%d\n",s);
  printf("%d",m/i>=a);
}

温馨提示:答案为网友推荐,仅供参考