【发布时间】:2013-07-19 19:46:21
【问题描述】:
# include <stdio.h>
int main()
{
int i,p,f=1;
printf("Prime Numbers till 99: \n");
for (p=2;p<99;p++)
{
for (i=2;i<p;i++)
if(p%i==0)
{
f=0;
break;
}
if(f=1)
printf("%d ",p);
}
return 0;
}
为什么我没有得到质数,而是得到从 2 到 98 的所有数字?
【问题讨论】:
-
这个问题似乎是题外话,因为它是基于一个错字,并且与未来的读者无关。
-
@JoshCaswell 比那个错别字略多,但你是对的,它可能与未来的任何人都没有太大关系。
-
这种类型的多个错误实际上只会降低有用性的可能性,@arshajii,因为其他人进行相同组合的机会会下降。
-
@JoshCaswell 我同意,并投票决定关闭。
-
如果你可能会使用
if(1==f)而不是if(f==1),那么拼写错误的=而不是==将给出错误阅读:Variable assignment in“if”condition
标签: c if-statement for-loop