인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

Inflearn Community Q&A

yeon _leaf's profile image
yeon _leaf

asked

10-Week C++ Coding Test | Algorithm Coding Test

1-F

+=나 -=연산자를 사용하는 것과 덧셈/뺄셈 후 할당하는 것의 차이가 있을까요?

Resolved

Written on

·

221

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

http://boj.kr/e083acd670f1478bad5c88f07da76de7

복합대입연산자를 쓰면 중간에 자꾸 이상한 에러가 납니다.

백준의 첫 번째 예제의 경우에도 Dev c++에서 테스트해 보면

Onrxwbba Bayvar W굌tr

이런 식으로 문자가 깨지는 경우가 발생합니다. 왜 이렇게 되는 건가요?

C++코테 준비 같이 해요!

Answer 1

0

kundol님의 프로필 이미지
kundol
Instructor

안녕하세요. ㅎㅎ

아스키코드는 숫자 몇까지 있을까요? 127까지 있는데요.

여기서 yeon님의 코드 중에서 127을 넘어가는 경우의 수가 있기 때문에 그러한 에러가 발생이 되는 것입니다. (u로 테스팅해보시면 됩니다.)

 

감사합니다.

 

yeon _leaf님의 프로필 이미지
yeon _leaf
Questioner

답변 감사합니다.

s[i] += 13; // (1)
if (s[i] > 122) {
	s[i] -= 26;
}

위 부분의 (1)에서 이미 127이 넘어가는 값이 생겨버리기 때문에 오류가 발생해 아래의 조건문이 작동하지 않는 것이라고 이해했는데 맞을까요?

kundol님의 프로필 이미지
kundol
Instructor

(정정) 네. -136 등 이상한값이 들어가게 됩니다.

yeon _leaf님의 프로필 이미지
yeon _leaf
Questioner

이해했습니다. 감사합니다!!

yeon _leaf's profile image
yeon _leaf

asked

Ask a question