dwhylee   7년 전

if 와 elseif  , else 를 사용하는데

else 가 없으면 에러가 발생하는 경우가 생기나요?

특정 문제를 풀다가  4가지 경우만 있는 상황에서 if , else if , else if  , else if    이렇게 하고 else를 안 쓰고 돌렸다가

10번정도 틀려서 if, else if , else if , else 로 바꾸니까 그냥 맞더군요.

원칙적으로 else 가 없으면 문제 풀때 답이 틀리게 나오는건지.. 궁급합니다.

보통 저도 그냥 아래처럼 하는데 위 처럼 했더니 틀렸던 것을 못 찾아서 왜 그럴까 궁금해서 질문합니다.

제가 돌릴 때는 문제없이 잘 돌아 가

yukariko   7년 전

제 생각에 그것은 코드의 문제일것 같습니다.

dwhylee   7년 전


if (list[i].compare("*") == 0) c = a * b;

else if (list[i].compare("/") == 0) c = a / b;

else if (list[i].compare("+") == 0) c = a + b;

else c = a - b;

result.push_back(c);

compare함수가 문제일까요?   * / + -  조건 4가지 뿐입니다.

그럼 원래는 else가 없어도 상관 없다는 말씀이신거죠? @yukariko


yukariko   7년 전

네 else if가 모든 조건을 커버해준다면 else는 필요없지요

실제로 dwhylee님이 맞추신 코드를 수정해서 else if로 바꿨는데 정답을 받았습니다.

dwhylee   7년 전

답변 감사드립니다 ( _ _ ) . 기존의 지식과 다른 결과가 나와서 조금 당황했었습니다. 틀린 코드와 맞은 코드 비교해보니 이유 찾았습니다. 감사합니다.

댓글을 작성하려면 로그인해야 합니다.