C 为什么我没有得到素数,而是得到从2到98的所有数字? #包括 int main() { int i,p,f=1; printf(“直到99:\n的素数”); 对于(p=2;p
C 为什么我没有得到素数,而是得到从2到98的所有数字? #包括 int main() { int i,p,f=1; printf(“直到99:\n的素数”); 对于(p=2;p,c,if-statement,for-loop,C,If Statement,For Loop,if(f=1)应该读为if(f==1)。赋值总是计算为真。if(f=1)应该读为if(f==1)。赋值总是计算为真。这里有两个错误 if(f=1)需要是if(f==1)或者只是if(f)。记住,=是赋值;=是比较 您需要在每次循环迭代结束时将f设置回1。否则f将永远是0,如果第一次输入了-语句,则将只打印第一个素数 int main(){ int i,p,f=1; printf(“直到99:\n的素数”); 对于(p=2;p
if(f=1)
应该读为if(f==1)
。赋值总是计算为真。if(f=1)
应该读为if(f==1)
。赋值总是计算为真。这里有两个错误
if(f=1)
需要是if(f==1)
或者只是if(f)
。记住,=
是赋值;=
是比较f
设置回1
。否则f
将永远是0
,如果第一次输入了-语句,则将只打印第一个素数
int main(){
int i,p,f=1;
printf(“直到99:\n的素数”);
对于(p=2;p<99;p++){
对于(i=2;i
到99的素数:
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
这里有两个错误
if(f=1)
需要是if(f==1)
或者只是if(f)
。记住,=
是赋值;=
是比较f
设置回1
。否则f
将永远是0
,如果第一次输入了-语句,则将只打印第一个素数
int main(){
int i,p,f=1;
printf(“直到99:\n的素数”);
对于(p=2;p<99;p++){
对于(i=2;i
到99的素数:
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
伙计们搞错了,除了fGuys中的条件运算符搞错了,除了fts中的条件运算符。这个问题似乎离题了,因为它是基于一个拼写错误而提出的,与未来的读者没有任何关系。@Josh Caswell有比这个稍多的拼写错误,但你是对的,它可能与一个“未来不会发生任何错误。这种类型的多次错误实际上只会降低有用性的可能性,@arshajii,因为其他人做出相同组合的可能性会降低。@JoshCaswell我同意,并投票决定相应地关闭。如果你可以做
if(1==f)
而不是if(f==1)
然后拼写错误的=
而不是=
将给出一个错误阅读:这个问题似乎是离题的,因为它是基于一个拼写错误,与未来的读者没有任何关系。@JoshCaswell有一个略多于一个的拼写错误,但你是对的,它可能与任何人都没有多大关系e未来。这种类型的多个错误实际上只会降低有用性的可能性,@arshajii,因为其他人做出相同组合的可能性会降低。@JoshCaswell我同意,并投票决定相应地关闭。如果你可以做if(1==f)
而不是if(f==1)
然后拼写错误的=
而不是=
将给出一个错误读数:
# 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;
}
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) { // here
printf("%d ", p);
}
f = 1; // and here
}
return 0;
}
Prime Numbers till 99:
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97