PGR21.com
- PGR21 관련된 질문 및 건의는 [건의 게시판]을 이용바랍니다.
- (2013년 3월 이전) 오래된 질문글은 [이전 질문 게시판]에 있습니다.
통합 규정을 준수해 주십시오. (2015.12.25.)
Date 2019/06/24 21:42:04
Name 타케우치 미유
Subject [질문] C++ printf 질문 (수정됨)
나름대로 열심히 C++ 공부를 하고 있는 초보입니다.

예제 공부를 하다가 궁금한게 생겨서 질문 올립니다.

printf로 두 정수를 출력하는 와중에 출력받는 인수를 (a,b)로 받아서 출력을 했는데 원하는 답이 안나와서 당황했네요.

제가 원하던 답은 예를들어 312를 입력 받으면(int a) 31달러(int b = a/10) 2센트(int c = 312%10)으로 나오는 걸 생각했었는데

printf("%d달러 %d센트",(b,c))로 출력을 하니까 완전 이상한 수가 나오네요.

printf("%달러 %d센트", b,c)로 하니까 원하는 답은 얻었습니다.

이게 어떤 이유로 이렇게 출력이 되는건가요?

통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
19/06/24 21:50
수정 아이콘
printf 함수는 뒤에 % 개수만큼 , 의 input을 받는데 %d %d (b,c)로 하셨을 경우는 input을 하나만 인가하신거니까 stack안에 있는 dummy value가 읽혀서 이상한 값이 나오게 됩니다.
타케우치 미유
19/06/24 21:51
수정 아이콘
아 그럼 괄호로 묶는 순간 두 인수가 하나로 인식이 된다는 거네요 덜덜
답변 감사합니다!
스타나라
19/06/24 21:52
수정 아이콘
아마도 printf("%d달러 %d센트", b,c)로 원하는 답을 얻으셨을건데... printf의 사용법이 원래 그렇습니다.

큰 따옴표 안에 원하는 text를 넣고, 인자를 원하는 갯수만큼 붙여넣은 다음, 후속 인자로 콤마(,)를 붙여가며 순서대로 기입하는 방법이 printf의 사용법인거죠.

윗 방법의 경우 (b,c)로 입력을 하셨다니 아마도 달러에만 값이 표시 되지 않았을까 싶네요. (사실 시도해보지 않은 방법이라서 잘 모르겠어요)
타케우치 미유
19/06/24 21:53
수정 아이콘
방금 다시 괄호를 넣어서 해보니까 달러에 c값이 적용되서 나오네요.

윗분 말씀대로 다음 %d는 더미 값으로 출력되서 나옵니다.

답변 감사합니다!
19/06/24 21:54
수정 아이콘
(b,c) 안에 있는 쉼표는 연산자로 해석합니다. operator comma로 찾아보면 나오는데 구분자로서의 쉼표와 헷갈리기 때문에 저는 개인적으로 안좋아합니다.
타케우치 미유
19/06/24 21:54
수정 아이콘
오 처음 알았습니다 감사합니다!
19/06/24 21:54
수정 아이콘
https://docs.microsoft.com/ko-kr/cpp/cpp/comma-operator?view=vs-2019

이 글을 참고하시면 될 것 같습니다
타케우치 미유
19/06/24 21:55
수정 아이콘
감사합니다!
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
134783 [질문] 피터팬은 웬디의 꿈인가요? [3] 醉翁之意不在酒3073 19/06/24 3073
134781 [질문] 문돌이의 직종 변경 고민입니다.. [10] 삭제됨3888 19/06/24 3888
134780 [질문] C++ printf 질문 [8] 타케우치 미유2029 19/06/24 2029
134779 [질문] 차알못의 차량정비 질문입니다 [2] lobotomy2206 19/06/24 2206
134778 [질문] 남자용 샌들 추천 부탁드립니다. [5] 보로미어3079 19/06/24 3079
134777 [질문] 도타 언더로드 실행이 안됩니다... (안드로이드) [2] 츄지Heart2939 19/06/24 2939
134776 [질문] 스타1 할 수 있는 노트북 얼마 정도면 될까요?? [5] 게닛츠3178 19/06/24 3178
134775 [질문] 신입사원 퇴사 이유 [17] G5106918 19/06/24 6918
134774 [질문] 타이틀롤인데 주인공이 아닌 경우..? [25] 포메라니안3559 19/06/24 3559
134773 [질문] 사랑니 뺀지 5일 지났는대 흡연해도 될까요? [23] 가을의전설24840 19/06/24 24840
134772 [질문] [헬스] 단백질 보충제 질문입니다! [8] DKC2939 19/06/24 2939
134771 [질문] 에어컨 판매는 어떻게 해야하나요? [8] PANDA X ReVeluv2828 19/06/24 2828
134770 [질문] NC 아이디 도용 어떻게해야 하나요? [2] papaGom2246 19/06/24 2246
134769 [질문] [랑그릿사] 소소한 질문입니다. [4] 다리기2379 19/06/24 2379
134768 [질문] [뻘질] 전소미 실물로 보신 분들 [5] 비둘기야 먹쟈5945 19/06/24 5945
134767 [질문] 근저당을 전세금 받아서 해결한다는게 맞는 말인가요? [9] char2848 19/06/24 2848
134766 [질문] LG건조기 멀티탭에 사용중인데 폭발이 일어났어요 [15] Aerika6178 19/06/24 6178
134765 [질문] 공장 알아보는 방법 [5] 마제스티2718 19/06/24 2718
134764 [질문] 좋은 '타자'를 고를 수 있는 스탯으로 뭐가 있을까요? [12] 세오유즈키2681 19/06/24 2681
134763 [질문] 담금주 직접 담궈보신 고수분들께 조언부탁드립니다. (복분자주, 보관문제) 여의2400 19/06/24 2400
134762 [질문] 치아미백은 치아건강에 안좋을까요? [4] 훈남아닌흔남2791 19/06/24 2791
134761 [질문] 레이저 복합기 질문드립니다. 여자친구2186 19/06/24 2186
134760 [질문] 테니스 관련 인터뷰 동영상을 찾고있습니다 [2] 쥬갈치2098 19/06/24 2098
목록 이전 다음
댓글

+ : 최근 1시간내에 달린 댓글
+ : 최근 2시간내에 달린 댓글
맨 위로