bakkso   3년 전

혼자 독학하는 학생입니다.

서치 해본 결과 < /, % > 연산자는 0을 나누고, 나머지를 구할 수 없기때문에 틀린거라고 하는데 그러면 이 문제에 답을 제출한 사람도 다 틀려야하는건데 저는 왜 안 될까요 ㅠㅠ

henongj   3년 전

(a/10)+(a%10)=b;

10*(a%10)+(b%10)=c;

이 두 문장은 완전히 잘못됐습니다.

b = (a / 10) + (a % 10);

c = 10 * (a % 10) + (b % 10);

이렇게 해야 합니다.

b = (a / 10) + (a % 10); 이렇게 식이 있으면 오른쪽에 있는 식을 연산해서

좌측의 변수, b라는 이름을 가진 주소의 '값'에 대입합니다.

a = b = c = d; 라는 문장도 (a = (b = (c = d))) 우측부터 좌르륵 이동합니다.

식은 우측에, 그것을 대입할 곳은 좌측에 두세요.

프로그래밍 언어론이나 컴파일러에 대해 공부하면

문법 하나하나가 어떤 의미를 가지는지, 왜 컴파일러가 내가 짠 코드를 거부하는지

자세하게 알 수 있을겁니다.

C를 배울 때 문법만 배우고 있다면, 조금씩 보는 것을 추천합니다.

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