안녕하세요~~ 포인터를 활용한 문제입니다. 복잡한 문제지만, 이정도 난이도는 충분히 출제가 될 수 있습니다. 감사합니다. ^^ #흥달 #흥달쌤 #정처기 #정보처리 #정보처리기사 #정보처리기출 #JAVA #C언어 #전산직 #계리직 #프로그래밍 #정보처리기사필기 #기출문제풀이 #서브넷 #서브넷마스크
안녕하세요 이 문제로 몇시간동안 멘탈 털려서 일찍 잠들어버린 학생입니다.. 바로 추가 영상으로 설명해주셔서 너무 감사합니다! 문제를 보면서 찾게 된 과정이 *의 값을 출력 하기 위해 계산하는 거 같은데요 증감연산자, 단항연산자 등 우선순위 떠나서 연산자 구분을 하고 기준을 *으로 하여 p가 *과 가까이 있음 출력하고 나머지 계산하고 떨어져있음 *의 값을 출력하기 위해 계산 방향에 따라 순서가 정해지는 패턴 같은 느낌이 들었습니다.. 이렇게 풀어도 되는지 모르겠는데 답은 맞더라구요? 하하;; 가운데 선( | ) 으로 기준을 만들어서 계산 방향을 오른쪽에서 왼쪽으로 잡고 예를 들어 ++ | (*p) 일 때 *p먼저 값 갖고 출력하기 위해 오른쪽에서 왼쪽 방향으로(
안녕하세요~~~ 이건 증감연산자가 전위인지 후위인지의 차이를 먼저 이해하셔야 합니다. ++ 가 앞에 있으면 먼저 증가하고, 출력합니다. ++ 가 뒤에 있으면 먼저 출력하고, 증가하게 됩니다. 예를 들어서, int a = 10; printf("%d", a++); printf("%d", ++a); 이럴 경우, printf("%d", a++); // a 에 있는 10을 출력 후, a 가 11이 됩니다. printf("%d", ++a); // a 에 있는 11을 1 증가해서 12로 만든 후 12가 출력이 됩니다. 최종 출력은, 10과 12가 출력이 됩니다.
오늘도 좋은 강의 잘 들었습니다
알고 계실지 모르겠지만 흥달쌤은 공시를 준비하는 학생들에게도 반응이 가장 좋습니다
공시판에는 제대로 된 선생님이 없다는 의견이 대다수인데, 흥달쌤 강의만큼은 싫어하는 사람을 못봤습니다.
앞으로도 좋은 영상 부탁드리겠습니다.
와~~~너무 감사한 일이네요~~^^
공시생분들도 들어주신다는 말씀 잊지 않고, 열심히 하겠습니다.
혹시 다른 분들이 제 얘기 하시면 제가 정말 감사해한다고 꼭 전해주십쇼~~^^
참 어떻게 이렇게 완벽한 강의를 하시는지.... 갓흥달쌤
정리가 되네요~ 감사합니다 ❤
다른 공식은 다 아는데
*p++ : 출력후 *p 값에 ++ 인줄알았는데, p값에 ++한다는 점
*(p++) : 괄호연산자로 p++ 적용후 *p 출력인줄알았는데, *p 출력 후 p값에 ++한다는 점
두 케이스는 처음알았네요
이렇게 잘 쓰질않다보니...
감사합니다~
실제로 저렇게 쓰는 경우는 거의 없습니다. ^^
아무래도 시험에서는 문법적인 부분을 많이 꼬아서 출제를 하다보니 저런 유형이 만들어지는데요.
실제로 개발할때는 쉽게 개발을 하게 됩니다.
안녕하세요
이 문제로 몇시간동안 멘탈 털려서 일찍 잠들어버린 학생입니다..
바로 추가 영상으로 설명해주셔서 너무 감사합니다!
문제를 보면서 찾게 된 과정이 *의 값을 출력 하기 위해 계산하는 거 같은데요
증감연산자, 단항연산자 등 우선순위 떠나서 연산자 구분을 하고
기준을 *으로 하여 p가 *과 가까이 있음 출력하고 나머지 계산하고
떨어져있음 *의 값을 출력하기 위해 계산 방향에 따라 순서가 정해지는 패턴 같은 느낌이 들었습니다.. 이렇게 풀어도 되는지 모르겠는데 답은 맞더라구요? 하하;;
가운데 선( | ) 으로 기준을 만들어서 계산 방향을 오른쪽에서 왼쪽으로 잡고
예를 들어
++ | (*p) 일 때 *p먼저 값 갖고 출력하기 위해 오른쪽에서 왼쪽 방향으로(
안녕하세요~~~
이 문제로 몇시간 고민하신 분이셨군요~~^^
앞으로 그르지 않으셨음 좋겄습니다.
그리고 아래 내용대로 해주시면 됩니다.
다음에 또 어려운 문제가 나오면 너무 고민 마시고, 바로 질문주세요~
감사합니다. ^^
나름 잔머리를 굴려보자면 p를 기준으로 앞뒤로 +가 붙으면 p의 주소값을 연산하고, p를 기준으로 * ( )가 붙으면 값을 연산한다는 추리가 됩니다.
괄호가 있더라도 P앞이던 뒤이던 +가 붙으면 주소(P자체의 값)를 연산하네요 ㅋㅋㅋㅋㅋ
엔잡에서 보고 긴가민가했는데 이 영상보니 이해가 쏙쏙돼요 흥달쌤 짱!!
도움이 되셨다니 다행입니다.
좀 더 다양한 예제로 설명을 드렸어야 했는데, 저런 부분까지 확인하지 못했네요~~^^
이렇게 저도 하나 더 배워가고, 다음에는 좀 더 나은 강의를 만들도록 하겠습니다.
설명의 신! 감사합니다
"짠~ 하고나타났어요!" 없으니 조금 아쉽습니다... ^^;;
아하~~~그걸 빼먹었군요~~^^
다음에 짜란 하고 나타나겠습니다.
*(p++)적용시점이 뒤에 있기 때문에 앞에 p값을 가져오고 p를 ++한다.
첫번째도 괄호가 없는데 왜 주소값의 변경이 아닐까요 5번째 출력문애는 주소값 변경이라고 하셨는데….
흥달선생님 아직 이해가 명확하게 안된거 같은데 언제 P의 주소값(ex. 100을 101로바꾸거나 102로 바꾸는 것)을 바꾸고 언제 P의 값(10을 후위증가시키는 것)을 바꾸는건지 헷갈립니다...
안녕하세요~~~
이건 증감연산자가 전위인지 후위인지의 차이를 먼저 이해하셔야 합니다.
++ 가 앞에 있으면 먼저 증가하고, 출력합니다.
++ 가 뒤에 있으면 먼저 출력하고, 증가하게 됩니다.
예를 들어서,
int a = 10;
printf("%d", a++);
printf("%d", ++a);
이럴 경우,
printf("%d", a++); // a 에 있는 10을 출력 후, a 가 11이 됩니다.
printf("%d", ++a); // a 에 있는 11을 1 증가해서 12로 만든 후 12가 출력이 됩니다.
최종 출력은, 10과 12가 출력이 됩니다.
갓흥달
도움이 되셨으면 좋겠습니다. ^^
감사합니다.
이문제 정말 어지럽습니다 ㅠㅠ