切换语句循环

时间:2014-02-20 22:04:03

标签: c switch-statement

有人可以告诉我为什么我没有让这个代码在整个for循环中运行并且通过每个循环逐个增加变量i。我只能在程序软件上打印出来。

int i;
for(i = 0; i < 100; i++) {
    switch(i) {
        case 1:

        case 2:

        case 3:

        case 4:
            printf("x");
            break;

        case 0:
            printf("y");
            return 0;
            break;

    }
    return 0;
}

3 个答案:

答案 0 :(得分:5)

你在return 0的第一个循环上执行case 0:这是一个错字还是你打算中止某事?

int i;
for(i = 0; i < 100; i++) {

  switch(i) {
    case 1:
    case 2:
    case 3:
    case 4:
      printf("x");
      break;

    case 0:
      printf("y");
      return 0;  //<----- RETURN exits the function call.
      break;           
   }                  
   return 0;     //<-- and if it didn't exit before it will definitely exit here.
}

答案 1 :(得分:1)

因为它在第一次迭代打印y后返回0时退出。 它退出程序或功能

答案 2 :(得分:0)

您应该在打印声明后删除return。

printf("y");
>>> return 0;