[ARCHIVE!] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 4. - 페이지 113

 
아래 예에서 break를 남겨둘 필요가 있는지 말해 주세요: (1) {..} 안에 또는 (2) } 뒤에 그것을 꺼내고, 그렇지 않으면 switch 문 예에서 case 뒤에 하나의 작업만 고려합니다.
 int a; double b; string c;

switch (a) // --- 1.
{  
   case 1 :  { b=Ask+SL_1* Point ; c= "with stop-loss = " +a; break ; }
   case 2 :  { b=Ask+SL_2* Point ; c= "with stop-loss = " +a; break ; }
   default : { b=Ask+SL_0* Point ; c= "with stop-loss = 0" ; }
}
switch (a) // --- 2.
{  
   case 1 :  { b=Ask+SL_1* Point ; c= "with stop-loss = " +a; } break ;
   case 2 :  { b=Ask+SL_2* Point ; c= "with stop-loss = " +a; } break ;
   default : { b=Ask+SL_0* Point ; c= "with stop-loss = 0" ; }
}
 

중괄호는 전혀 필요하지 않습니다. 그러나 당신이 넣으면 - 내부를 부수십시오.

... 도대체 무슨 차이인지, 어쨌든 그는 충족되어야합니다.

 
Mathemat :

if와 유추하여 {...}에 대해 그렇게 생각했습니다. 거기에서 2개 이상의 조치가 필요한 경우 {...}. case 문의 철학이 그 후에 모든 것(!)이 실행되는 것과 같으면 다음과 같이 {...}를 모두 제거해야 한다고 생각합니다.
 switch (a)
{  
   case 1 :  b=Ask+SL_1* Point ; c= "with stop-loss = " +a; break ;
   case 2 :  b=Ask+SL_2* Point ; c= "with stop-loss = " +a; break ;
   default : b=Ask+SL_0* Point ; c= "with stop-loss = 0" ;
}
 
글쎄, 그것이 그들이 쓰는 것입니다.
 
paladin80 :
if와 유추하여 {...}에 대해 그렇게 생각했습니다. 거기에서 2개 이상의 조치가 필요한 경우 {...}. 대/소문자 연산자의 철학이 모든 것(!)이 실행된 후에 다음과 같이 {...}를 완전히 제거해야 한다고 생각합니다.

모든 것은 break 전에 실행되며, 그렇지 않으면 기본값입니다.

저것들.

 case 1 :  b=Ask+SL_1* Point ; c= "with stop-loss = " +a; break ;
или
case 1 :  b=Ask+SL_1* Point ; c= "with stop-loss = " +a; return ( 09 , 05 );
приемлема и работает.

{...}대소문자 를 구분하는 것으로 암시됩니다 (출력을 화면에 인쇄해 보세요 ;)).

 
작은 예외일 뿐입니다. GO TO 문, 하지만 {} 내부에서만 :)
 
costy_ : . 그렇지 않으면 기본값입니다.

네, 그리고 당신의 코드는 전혀 컴파일되지 않을 것입니다 - 이것 때문에:

 return ( 09 , 05 );
 
말해 보세요. 계산에 여러 배열을 사용하고 배열 간에 전환해야 하지만 원하는 배열을 사용할 때마다 일정한 조건을 사용하는 것은 그리 편리하지 않습니다. MT4에 조건을 한 번 확인한 다음 지금 작업에 필요한 배열을 쓰는 데 참조 변수가 있습니까? 설명서에서 뭔가를 찾지 못했습니다.
 

아니요, 변수(및 배열도)는 함수에 대한 참조로만 전달할 수 있습니다.

 

친구, 질문이 있습니다.

TimeHour - 지정된 시간의 시간을 반환합니다.

0과 24의 값을 모두 이해합니까?

작성하는 경우:

 extern double TimeStart = 24.0 ;

if ( TimeHour ( TimeCurrent ()) >= TimeStart )
   {
    ...
   }

그런 기능이 가능한가요?

또는 다른 조건이 필요합니다. if (TimeStart >= 24.0) TimeStart = TimeStart - 24.0;

 extern double TimeStart = 24.0 ;

if (TimeStart >= 24.0 )  TimeStart = TimeStart - 24.0 ;

if ( TimeHour ( TimeCurrent ()) >= TimeStart )
   {
    ...
   }
첫 번째 옵션이 올바르게 작동할 수 있습니까? 아니면 두 번째로 할까?