C ++의 스위치 케이스에서 'break'를 사용하고 사용하지 않는 동안 다른 출력

아툴 리아 자

HackerRank-
Question Link- https : //www.hackerrank.com/challenges/maximum-element/problem에서 질문을 해결하고있었습니다.

한 솔루션에서는 switch-case에서 'break'문을 사용했지만 다른 솔루션에서는 사용하지 않았습니다. break 문을 사용하지 않았을 때 해결책이 잘못되었습니다. 그 이유는 무엇입니까?
입력-

10
1 97
2
1 20
2
1 26
1 20
2
3
1 91
3

break 문 사용 -

#include <bits/stdc++.h>
using namespace std;

int main() {
    int noOfTestCases;
    cin>>noOfTestCases;
    vector <int> st;
    for(int x=0; x<noOfTestCases; x++){
        int query;
        cin>>query;
        switch (query) {
            case 1:
                int number;
                cin>>number;
                if(st.empty()){
                    st.push_back(number);
                }
                else if(number > st[st.size()-1]){
                    st.push_back(number);
                }
                else{
                    st.push_back(st[st.size()-1]);
                }
                break;
            case 2:
                if(!st.empty()){
                    st.pop_back();
                }
                break;
            case 3:
                cout<<st[st.size()-1]<<endl;
        }
    }
}

//Output - 
//26
//91

break 문없이 -

#include <bits/stdc++.h>
    using namespace std;

int main() {
    int noOfTestCases;
    cin>>noOfTestCases;
    vector <int> st;
    for(int x=0; x<noOfTestCases; x++){
        int query;
        cin>>query;
        switch (query) {
            case 1:
                int number;
                cin>>number;
                if(st.empty()){
                    st.push_back(number);
                }
                else if(number > st[st.size()-1]){
                    st.push_back(number);
                }
                else{
                    st.push_back(st[st.size()-1]);
                }
            case 2:
                if(!st.empty()){
                    st.pop_back();
                }
            case 3:
                cout<<st[st.size()-1]<<" "<<query<<endl;
        }
    }
}

//Output - 
//0
//0
//0
//0
//0
//0
//0
//0
//0
//0
마틴 콘라드

다음 코드를 고려하십시오.

switch (x) {
  case 1:
    std::cout << "one\n";
  case 2:
    std::cout << "two\n";
    break;
  case 3:
    std::cout << "three\n";
}

경우 x1 인이 모두 인쇄됩니다 onetwo. 그런 다음 break으로 인해 스위치 블록을 종료합니다 . 참고 x것입니다 하지 와 비교 2"를"인쇄 후, 그것은 바로 가을-을 통해 것 "이"을 인쇄 할 수 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

동일한 함수를 재사용하지만 동일한 테스트 스크립트에서 Python의 다른 위치에서 호출하는 방법

분류에서Dev

알 수없는 이스케이프 시퀀스를 사용하면 C ++에서 정의되지 않은 동작이 호출됩니까?

분류에서Dev

while 루프를 사용하여 C #에서 문자열을 반전하고 있습니다. 올바른 출력을 얻고 있지만 for 루프와 함께 사용하는 동일한 논리를 사용하면 출력이 잘못되었습니다.

분류에서Dev

유닉스를 사용하는 내 출력에서 %, 다른 출력으로 이상한 문자. C ++

분류에서Dev

다른 장치에서 절차를 호출하는 동안 액세스 위반

분류에서Dev

하나의 함수에서 네임 스페이스의 기호를 사용하지만 동일한 파일에서 다른 함수는 사용하지 않음

분류에서Dev

두 개의 다른 응용 프로그램에 출력을 지정하는 동안 두 개의 키보드를 동시에 사용할 수 있습니까?

분류에서Dev

Android 앱에서 json 출력 디스플레이를 사용하는 동안 Java 파일의 오류

분류에서Dev

RDTSC를 사용하여 메모리의 ARRAY에 액세스하는 C에서 예기치 않은 출력

분류에서Dev

상대 경로를 사용하지 않고 다른 규칙에서 bazel 규칙의 출력에 액세스하려면 어떻게해야합니까?

분류에서Dev

클래스 내부의 개체를 사용하고 다른 클래스의 개체 메서드를 사용하면 작동하지 않습니다.

분류에서Dev

파이프를 사용하는 동안 예기치 않은 출력

분류에서Dev

print ()의 다른 위치에서 동일한 사용자 입력을 호출하는 방법

분류에서Dev

Iterartor에게 출력을 사용하여 해시 맵에서의 ArrayList를 가져 오는 동안 같은 예상되지 않는다

분류에서Dev

항상 bash에서 -C 플래그를 사용하지 않고 트리의 출력을 자동으로 채색하는 방법은 무엇입니까?

분류에서Dev

React JS를 사용하는 동안 입력 유형 텍스트의 값이 업데이트되지 않음

분류에서Dev

Rxjs에서 mergeMap을 사용하는 동안 정의되지 않은 출력

분류에서Dev

accumulate를 사용하는 동안 C ++에서 operator +와 일치하지 않습니다.

분류에서Dev

CSS 종횡비를 사용하는 동안 요소의 올바른 마우스 위치

분류에서Dev

사용자 정의 클래스를 추가하는 동안 클래스가 존재하지 않습니다.

분류에서Dev

명령 줄에서 명령 출력을 사용하는 동안 공백을 이스케이프하는 방법

분류에서Dev

rand ()를 사용하는 동안 내 문자 배열 범위 밖의 출력

분류에서Dev

다른 클래스에서 그리기는 JPanel의 올바른 치수를 사용하지 않습니다.

분류에서Dev

UITableView 사용자 정의 셀이 사라지고 스크롤하는 동안 무작위로 나타납니다.

분류에서Dev

NameError : 'file'이름이 정의되지 않았습니다. tkinter 스레드를 사용하는 동안

분류에서Dev

R의 출력을 다른 소프트웨어의 입력으로 사용하는 프로세스를 자동화하는 방법은 무엇입니까?

분류에서Dev

React JS 애플리케이션의 브라우저에서 "사용자가 Windows 위치에 대한 액세스를 허용하지 않았습니다."오류

분류에서Dev

class () 메서드를 사용하는 동안 함수의 다른 함수에서 변수에 액세스

분류에서Dev

C # 웹 애플리케이션에서 제네릭을 사용하는 동안 initializecomponent ()가 현재 컨텍스트에 존재하지 않습니다.

Related 관련 기사

  1. 1

    동일한 함수를 재사용하지만 동일한 테스트 스크립트에서 Python의 다른 위치에서 호출하는 방법

  2. 2

    알 수없는 이스케이프 시퀀스를 사용하면 C ++에서 정의되지 않은 동작이 호출됩니까?

  3. 3

    while 루프를 사용하여 C #에서 문자열을 반전하고 있습니다. 올바른 출력을 얻고 있지만 for 루프와 함께 사용하는 동일한 논리를 사용하면 출력이 잘못되었습니다.

  4. 4

    유닉스를 사용하는 내 출력에서 %, 다른 출력으로 이상한 문자. C ++

  5. 5

    다른 장치에서 절차를 호출하는 동안 액세스 위반

  6. 6

    하나의 함수에서 네임 스페이스의 기호를 사용하지만 동일한 파일에서 다른 함수는 사용하지 않음

  7. 7

    두 개의 다른 응용 프로그램에 출력을 지정하는 동안 두 개의 키보드를 동시에 사용할 수 있습니까?

  8. 8

    Android 앱에서 json 출력 디스플레이를 사용하는 동안 Java 파일의 오류

  9. 9

    RDTSC를 사용하여 메모리의 ARRAY에 액세스하는 C에서 예기치 않은 출력

  10. 10

    상대 경로를 사용하지 않고 다른 규칙에서 bazel 규칙의 출력에 액세스하려면 어떻게해야합니까?

  11. 11

    클래스 내부의 개체를 사용하고 다른 클래스의 개체 메서드를 사용하면 작동하지 않습니다.

  12. 12

    파이프를 사용하는 동안 예기치 않은 출력

  13. 13

    print ()의 다른 위치에서 동일한 사용자 입력을 호출하는 방법

  14. 14

    Iterartor에게 출력을 사용하여 해시 맵에서의 ArrayList를 가져 오는 동안 같은 예상되지 않는다

  15. 15

    항상 bash에서 -C 플래그를 사용하지 않고 트리의 출력을 자동으로 채색하는 방법은 무엇입니까?

  16. 16

    React JS를 사용하는 동안 입력 유형 텍스트의 값이 업데이트되지 않음

  17. 17

    Rxjs에서 mergeMap을 사용하는 동안 정의되지 않은 출력

  18. 18

    accumulate를 사용하는 동안 C ++에서 operator +와 일치하지 않습니다.

  19. 19

    CSS 종횡비를 사용하는 동안 요소의 올바른 마우스 위치

  20. 20

    사용자 정의 클래스를 추가하는 동안 클래스가 존재하지 않습니다.

  21. 21

    명령 줄에서 명령 출력을 사용하는 동안 공백을 이스케이프하는 방법

  22. 22

    rand ()를 사용하는 동안 내 문자 배열 범위 밖의 출력

  23. 23

    다른 클래스에서 그리기는 JPanel의 올바른 치수를 사용하지 않습니다.

  24. 24

    UITableView 사용자 정의 셀이 사라지고 스크롤하는 동안 무작위로 나타납니다.

  25. 25

    NameError : 'file'이름이 정의되지 않았습니다. tkinter 스레드를 사용하는 동안

  26. 26

    R의 출력을 다른 소프트웨어의 입력으로 사용하는 프로세스를 자동화하는 방법은 무엇입니까?

  27. 27

    React JS 애플리케이션의 브라우저에서 "사용자가 Windows 위치에 대한 액세스를 허용하지 않았습니다."오류

  28. 28

    class () 메서드를 사용하는 동안 함수의 다른 함수에서 변수에 액세스

  29. 29

    C # 웹 애플리케이션에서 제네릭을 사용하는 동안 initializecomponent ()가 현재 컨텍스트에 존재하지 않습니다.

뜨겁다태그

보관