result=x%y인데 왜 printf에서는 %%로 해주는 건가요?
C언어에서는 나머지를 의미하는 퍼센트(%)를 출력하기 위해서 "%%"라고 퍼센트(% 2개를 입력해야 합니다.
그 이유는,
C의 printf() 함수에서는 "퍼센트 기호 (%)"가, 변환명세 출력을 위한 특수한 의미로 사용되므로, 퍼센트(%) 기호 자체를 출력하기 위해서는 퍼센트 기호를 "2개 중복"해 주어야 제대로 출력됩니다.
// 100%를 출력하고 싶으면 아래와 같이 지정해 줘야 결과가 올바르게 나옵니다.
int num=100;
printf("%d%%", num); // 100%