C 如何在For循环中输入两个条件? < >我想创建一个条件,使得空白不会因为空白=1而变为负值。 例如,如果n=3,blank=1因此将打印两个“#”,但我希望它在循环时停止在0

C 如何在For循环中输入两个条件? < >我想创建一个条件,使得空白不会因为空白=1而变为负值。 例如,如果n=3,blank=1因此将打印两个“#”,但我希望它在循环时停止在0,c,loops,for-loop,conditional-statements,cs50,C,Loops,For Loop,Conditional Statements,Cs50,这是我的密码 for (int blank = n-2; blank < n; blank -=1) printf("#"); printf("\n"); for(int blank=n-2;blank

这是我的密码

for (int blank = n-2; blank < n; blank -=1) 
    printf("#");
printf("\n");
for(int blank=n-2;blank
这就是我想要达到的目标

for (int blank = n-2; blank < n or blank > 0; blank -=1) 
    printf("#");
printf("\n");
for(int blank=n-2;blank0;blank-=1)
printf(“#”);
printf(“\n”);

for(int blank=n-2;blank
谢谢

只需使用逻辑OR

blank0可以表示为:

(blank0)

您在伪代码中使用了“或”,但您确实希望在
blank
小于
n
blank
大于
0
时循环
&&
是逻辑and运算符,因此您可以使用以下命令:

for (int blank = n-2; blank < n && blank > 0; blank -= 1) 
for (int blank = n-2; blank > 0; blank -= 1) 

请注意,
i-=1
可以写入整数类型的
--i

for (int blank = n-2; blank > 0; --blank)     # blank goes from n-2 to 1
这将产生同样的结果:

for (int blank = n-2; blank-- > 0; )          # blank goes from n-3 to 0
如果保证
n
至少为
2
,您还可以使用一个常见的习惯用法:

for (int blank = n-2; blank--; )              # blank goes from n-3 to 0 if n>=2

这回答了你的问题吗?应该是
空白0
。实际上,它应该是
空白>0
。谢谢!,你说得对,我需要的是一个“and”/&”。救生员,我现在可以睡觉了
for (int blank = n-2; blank--; )              # blank goes from n-3 to 0 if n>=2