Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/126.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Switch语句仅适用于某些情况 for(int i=0;i_C++_Switch Statement - Fatal编程技术网

C++ Switch语句仅适用于某些情况 for(int i=0;i

C++ Switch语句仅适用于某些情况 for(int i=0;i,c++,switch-statement,C++,Switch Statement,您在每个案例的结尾处缺少一个中断。它贯穿了所有案例,只有最后一个案例生效 ofstream Zone1H; Zone1H.open("TEST.txt"); for(int l=0; l<5; l++) Zone1H<<LAYOUT[i].x<<" "<<LAYOUT[i].y<<endl; for(int i=0;i您在每个案例的结尾处缺少一个中断。它贯穿了所有案例,只有最后一

您在每个
案例的结尾处缺少一个
中断
。它贯穿了所有案例,只有最后一个案例生效

ofstream Zone1H;
        Zone1H.open("TEST.txt");
for(int l=0; l<5; l++)          
            Zone1H<<LAYOUT[i].x<<"  "<<LAYOUT[i].y<<endl;

for(int i=0;i您在每个
案例的结尾处缺少一个
中断
。它贯穿了所有案例,只有最后一个案例生效

ofstream Zone1H;
        Zone1H.open("TEST.txt");
for(int l=0; l<5; l++)          
            Zone1H<<LAYOUT[i].x<<"  "<<LAYOUT[i].y<<endl;

for(int i=0;i您需要查看
break
语句。这在切换语句时非常重要。如果没有break,它会将其中一个语句求值为true,并继续查看其余的情况。如果在找到正确的大小写时为每个语句添加一个break,它将“break”退出开关,继续循环中的下一个数字

您需要查看
break
语句。这在涉及开关语句时非常重要。如果没有break,它会将其中一个语句计算为true,并继续查看其余的情况。如果在每个语句中添加break,当它找到正确的大小写时,它将l从开关中“中断”并继续循环中的下一个数字

每种情况结束时的中断会将您带出开关语句并返回到for循环的顶部,这样您就不会遍历开关条件中的其他情况

for(int i=0; i<3; i++){
  switch(i){
    case 0:
      LAYOUT[i].x=i;
      LAYOUT[i].y=i;
      break; // <-- add this
    case 1:
      LAYOUT[i].x=funcx(i);
      LAYOUT[i].y=funcy(i);
      break; // <-- add this
    case 2:
      LAYOUT[i].x=2*i;
      LAYOUT[i].y=4*i;
      break; // <-- add this
  }
}

for(int i=0;i每种情况结束时的中断会将您带出switch语句并返回for循环的顶部,这样您就不会在switch条件中遍历其他情况

for(int i=0; i<3; i++){
  switch(i){
    case 0:
      LAYOUT[i].x=i;
      LAYOUT[i].y=i;
      break; // <-- add this
    case 1:
      LAYOUT[i].x=funcx(i);
      LAYOUT[i].y=funcy(i);
      break; // <-- add this
    case 2:
      LAYOUT[i].x=2*i;
      LAYOUT[i].y=4*i;
      break; // <-- add this
  }
}

for(int i=0;iYou忘记在两个案例之间放置
break
,因此它将进入下一个案例。此外,switch语句需要有打开和关闭括号。
switch(i){…}
这些都不是可选的。您可能会发现这样的问题/答案很有趣:您忘记在两个案例之间放置
break
,因此它将进入下一个案例。此外,switch语句需要有开始和结束大括号。
switch(i){…}
这些都不是可选的。你可能会发现这样的问题/答案很有趣:就像问题不应该是简单的代码转储,也不应该是答案一样。至少尝试解释一下问题,描述一下如何解决问题以及原因。就像问题不应该是简单的代码转储,也不应该是答案一样。至少尝试解释一下n解决问题,并描述如何解决问题以及原因。