c - 我的 For-Loop 不工作,但没有引发错误消息 - 它可能是什么?
问题描述
大家好,
我正在创建一个素数检查器作为项目的一部分——我使用一个 For-Loop 来迭代每个数字,另一个来迭代它下面的每个数字,以确定它是否是素数。但是,这两个循环都不起作用。我已经将它与我创建的其他工作 For-Loops 以及与朋友一起检查过,但都没有帮助(对不起朋友)。给予的任何帮助将不胜感激,我将永远高度赞扬你:)
正如刚才所说,我已经检查了其他作品和我的朋友。我也尝试过分别在循环中运行代码,并且代码确实有效。
#include <stdio.h>
//int FinalPrimeArray[sizeof(Primes)];
//int FinalNotPrimesArray[sizeof(NotPrimes)];
int main()
{
//int Pos = 0;
int Pos2 = 0;
int i = 3;
int k;
int divider = 2;
int productint;
float productintasfloat;
float productfloat;
int Primes[100];
//int NotPrimes[100];
//Test Block (start)
float i2 = i;
float divider2 = divider;
productfloat = i2 / divider2;
printf("float type is: %f \n", productfloat);
productint = i / divider;
productintasfloat = productint;
printf("integer type is: %d \n", productint);
if(productintasfloat == productfloat)
{
printf("yes");
}
//Test Block (end)
printf("Calculating all prime numbers in 3-100");
for(i = 3; i == 100; i++)
{
printf("1");
k = i - 1;
for(divider = 2; divider == k; divider++)
{
printf("2");
float i2 = i;
float divider2 = divider;
productfloat = i2 / divider2;
printf("float type is: %f \n", productfloat);
productint = i / divider;
productintasfloat = productint;
printf("integer type is: %d \n", productint);
if(productintasfloat == productfloat)
{
Primes[Pos2] = i;
Pos2++;
}
}
}
return 0;
}
我希望它迭代 97 次(对于第一个循环),每个主迭代依次迭代 'i - 1' 次。现在肯定已经很清楚了……事实并非如此。运行时,我没有收到任何错误消息,它会打印文本块中的两行代码和“3-100”消息。然后什么都没有,没有错误消息或进一步输出。但是,代码确实会终止(停止符号,变灰 - 通常在代码运行时着色和可点击)
任何帮助将不胜感激,如果没有人可以提供帮助......好吧,我想我将不得不找到另一种解决方法。虽然我希望任何修复都保持接近我的预期方法(我不是想成为一个选择乞丐),但任何修复都将不胜感激:)
-> 崭露头角的开发者
如果我错过了任何有用的信息并且您想提供帮助 - 不要害怕问。
解决方案
我认为您混淆了 for 循环的工作方式
只要条件为真,for 循环就会一直运行,直到它变为假。您认为,只要条件为假,for 循环就会运行,直到它变为真。
所以for(i = 3; i == 100; i++)
应该是for (i = 3; i < 100; i++)
这现在说i
在小于 100 时继续增加。你之前的循环说i
在 100 时增加。它永远不会
推荐阅读
- .net-core - 在 Visual Studio 2017 中打开解决方案后如何防止 nuget 冗余还原包
- javascript - jquery ReferenceError:未将变量定义为数组索引
- c# - Dapper 和 n 层应用程序(导航属性)
- python - Python 烧瓶应用程序在启动 ImportError 时抛出以下错误:不支持按文件名导入
- ionic-framework - 当我们提供应用程序时如何修复离子应用程序错误
- python - django rest 框架“TypeError: 'type' object is not iterable”错误
- javascript - 使用 Typescript 向商店发送 Thunk
- azure - Intune 的 SAP 自定义 Fiori 客户端 (iOS) 集成 - 由于未经授权的浏览器而被 CA 规则阻止
- javascript - 避免重复计算以优化嵌套 for 循环的时间复杂度
- php - PHP输入数组为空时不返回任何内容