这只是为了一些额外的学分,我有一个简单的 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/