2013-09-30 2 views
0

나는 우리가 넣을 수있는 "else if"절의 수를 제한하고 싶습니다. 나는 "else if"가 너무 많으면 결국에는 스택 오버 플로우로 이어질 것이라고 들었다. 예를 들어 :"else if"문에는 제한이 있습니까?

if (1 > 1){} 
    else if (1 > 2){} 
    else if (1 > 3){} 
     //and so on 
    else{} 

는 그러나, 나는이 주제에 대한 증거를 찾을 수 있으며, 인터넷 검색은 나에게 내가 원하는 대답을하지 않습니다. 아래의 질문은 같은 제목이지만, 내가 물어보고 싶은 주제와 관련이 없습니다. 고맙습니다.

Javascript: Is there a limit to "else if" statements?

+0

어떤 언어에 대해 문의 하시겠습니까? – Adam

+0

특정 언어는 없지만 C 언어로 처리하겠습니다. –

+0

내 대답은 C 및 귀하가 만날 가능성이있는 언어에 대해 유효합니다. – Adam

답변

2

는 합리적인 언어에서 한계는 실질적으로 그것을 도달하지 않을 것이다 너무 큰 즉, 일반적으로 코드 크기에 대한 제한과 동일해야합니다.

if이 스택에 추가되지 않기 때문에 확실히 스택 오버플로가 발생하지는 않습니다. 함수 호출은 다른 프레임을 스택에 추가하고 if은 분기 명령어입니다.

+0

그렇다면 올바르게 이해한다면 진짜 원인은 중첩 된 함수 호출이지만 많은 양의 "else if"가 아닌가? –

+0

스택 오버플로의 범인? 예, 거의 항상 무한 재귀입니다. – Adam

+0

많은 양의 'else if'가 스택 오버 플로우 나 충돌을 일으키지 않지만 페이지와 페이지가있는 경우 코드가 더 잘 구성되어야한다는 신호입니다. 네가 할 수 있다고해서 네가해야할 .. – Adam