检查C中变量值的条件

标签 c

这只是为了一些额外的学分,我有一个简单的 C 程序来计算平方根,最初该程序会无休止地计算它们,所以我想要一个条件来检查变量的值以及它是否较小或如果不打印结束,则等于 i+(9^32) 循环。

不幸的是,我似乎无法让 if 条件正常工作

如果有人有任何建议,那就太好了

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main(int argc, char *argv[])
{
  int m, i;
  if ( argc > 1) {
    m = atoi(argv[1]);
  } else {
    m = 1;
  }
for( i = 1; i <= i+1; i++)  {
    double param, result;
    param = i;
    result = sqrt (param);
    printf ("sqrt(%lf) = %lf\n", param, result );
    sleep(0.5);
  }
  if( i <= (i + pow(9,32))
  { return (0); }
  else {  printf("end");
  }
}

最佳答案

for 中的测试中添加条件循环:

for( i = 1; i < INT_MAX; i++)  {

注1:

你可能应该早点停下来:很少有编译器有 int (或 double )足够大的 9^32 类型。我已将其替换为最大值 int值。

注2:

目前状况i <= i+1将导致代码循环直到 i溢出。尽管在大多数实现中,溢出将导致未定义的行为 i将换行为负值,导致循环终止。

关于检查C中变量值的条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12840224/

相关文章:

c - 解释为什么变量声明的位置使我无法更改其值

c++ - 打印所有线程的堆栈跟踪而不附加 GDB

android - 如何在android studio上的textview中启用c代码的语法突出显示?

c++ - C++ 和 C 中的 `.inc` 文件有什么意义?你想在什么情况下使用它?

c - 中止陷阱 6 和文本文件输出

c - 你能多快进行线性搜索?

比较 2 个不同长度的 char*(不带空终止符)

c代码文本不显示

VC2012 中与 fwrite 的混淆

c - 为什么 char 值增加 3?