본문 바로가기
C

Q.printf("나머지 : "); printf("a % b = %d", a % b);% 1개만 써도 결과가 나오는데 1개만 써도 되는건가요?

by sj0020 2020. 7. 12.

 

하경인(goorm)19. 07. 18. 오후 12:12

안녕하세요. 구름입니다.

printf에서 %출력은 % 다음에 오는 문자에 따라 유형을 지정하여 값을 입력받는다는 것을 기억하실 겁니다. 예를 들어

printf("%d", 2);

라고 입력한 뒤 실행한다면 2가 출력되는 것처럼 말이죠. 그런데 이 %는 % 뒤에 받는 형식이 지정되지 않는 문자가 오면 % 뒤의 문자를 그대로 출력한다는 규칙을 갖고 있습니다. %d는 정수, %f는 실수를 받는 등 형식이 지정되어 있지만 %b는 아무 형식도 지정되어 있지 않기 때문에

printf("a % b");

가 "a % b"로 정상 출력되는 것입니다. 만약 이 코드를

printf("a % d");

로 변경한다면 "a % d"로 출력되는 것이 아니라 "a (쓰레기값)"으로 출력될 겁니다. 때문에 이런 경우 "a % d"로 출력하고 싶다면

printf("a %% d");

라고 작성해주셔야 합니다.

'C' 카테고리의 다른 글

자료형(type)  (0) 2020.07.22
컴파일 컴파일러  (0) 2020.07.21
값 입력받은 후 1부터 그 값까지 합 출력  (0) 2020.07.18
구구단 for, while 둘 다 사용  (0) 2020.07.18
비트연산자  (0) 2020.07.15