해결된 질문
작성
·
2.6K
0
안녕하세요. 제가 어떤분의 질문을 답변하다 궁금한점이 생겼습니다.
c언어에서는 출력할때 항상printf를 사용하잖아요?(자바강좌에서 질문하여 죄송합니다.)
구구단같은 연산코드에서는 대부분이 이런코드를 사용할거라고생각합니다.
printf("%d * %d = %d", n, i, n * i); //구구단
printf("%d + %d = %d", a, b, a + b) //"기본"
그래서 나머지연산자에서도 똑같을거라고 생각했는데
printf("%d", a % b);
와같이 설명(?)이 생략됐거나 "나머지"같은 문구로 바꿔져있었습니다.
https://dojang.io/mod/page/view.php?id=106
http://mwultong.blogspot.com/2007/01/c-modulus-operator-get-remainder.html
제 질문이 뭐냐면
System.out.printf("%d % %d = %d", 20, 3, 20 % 3); //예상출력: 20 % 3 = 2
같은 서식출력코드에서 %는 출력가능하냐?입니다.
답변해주면감사합니다.
답변 1
1
안녕하세요, haon님!
C언어에서 printf() 함수에는 "퍼센트 기호(%)"가 포맷 출력을 위해 특수한 의미로 사요됩니다.
따라서 printf()문 안에 퍼센트 기호 한 번만 작성하면 %가 출력되지 않습니다.
퍼센트 기호 자체를 출력하기 위해서는 %를 두 번 중복해서 사용해주어야 출력됩니다.
따라서, %% 처럼 기호 두 번에 퍼센트 기호가 하나 출력됩니다.
printf("%\n"); // 출력 안됨
printf("%%\n"); // % 하나 출력 (%)
printf("%%%%\n"); // % 두개 출력 (%%)
printf("%%%%%%\n"); // % 세개 출력 (%%%)
위와 같이 사용됩니다.
즉, % 출력을 위해서는 두 개씩 사용해주면 됩니다.
혹시 궁금하신 점이 있다면 댓글 남겨주세요.
도움이 되었으면 좋겠습니다. :)
감사합니다.
다른기호는앞에 \백슬래시를 붙이면돼는데 %는 두개사용해야 출력이 되내요