如何跳过if状态而不执行else。?

时间:2011-02-14 10:08:13

标签: c

for(....)
  if(condition)
    printf(_);
  else
    printf();

将来到这里的代码....

2 个答案:

答案 0 :(得分:3)

如果我理解正确,您希望在if为真时跳出for和封闭的condition循环。您可以使用break

来实现此目的
for(....) {
  if(condition) {
    printf(_);
    break;
  }
  else
    printf();
}

注意:我添加了适当的缩进和尖括号以使代码更清晰。

OP评论后更新

int isPrime = 0;

for (i = 0; i < 10 && !isPrime; i++) {
  isPrime = (16 / i == i);
}
if (isPrime)
  printf("its a prime no");
else
  printf("not a prime no.");

免责声明:上述条件几乎不是检测给定数字是否为素数的正确方法,但此代码片段仍然说明了从循环中保存表达式结果并稍后检查它的一般习惯用法。

答案 1 :(得分:1)

如果else为真,则永远不会执行condition代码:

if (condition)        // If this condition evaluates to true
{
    printf("Hello");  // Then this code is executed
}
else
{
    printf("World");  // If it is false then this code is executed.
}

编辑:将它包装在for循环中没有任何区别(除非你的意思是想要实际退出for循环吗?)