source

C로 퍼센트 기호(%)를 인쇄하려면 어떻게 해야 합니까?

itover 2023. 6. 6. 10:59
반응형

C로 퍼센트 기호(%)를 인쇄하려면 어떻게 해야 합니까?

이 프로그램이 인쇄되지 않는 이유는 무엇입니까?%사인?

#include <stdio.h>

main()
{
     printf("%");
     getch();
}

문제는 변경해야 한다는 것입니다.

printf("%"); 

로.

printf("%%");

또는 ASCII 코드를 사용하여 다음과 같이 쓸 수 있습니다.

printf("%c", 37);

:)

이 항목에는 백분율 기호를 인쇄하는 이유에 대한 설명이 없습니다.입력해야 합니다.%%예를 들어 백분율이 -인 이스케이프 문자가 아닙니다.\%.

comp.lang.c FAQ 목록에서 질문 12.6:

printf로 % 기호를 인쇄하는 것이 까다로운 이유는 %가 본질적으로 printf의 이스케이프 문자이기 때문입니다.printf가 %를 볼 때마다 다음에 무엇을 해야 하는지 알려주는 문자가 뒤따를 것으로 예상합니다.두 문자 시퀀스 %%는 단일 %%를 인쇄하도록 정의됩니다.

%가 작동하지 않는 이유를 이해하려면 백슬래시 \는 컴파일러의 이스케이프 문자이며 컴파일러가 컴파일 시 소스 코드 문자를 해석하는 방법을 제어합니다.그러나 이 경우에는 런타임에 printf가 형식 문자열을 해석하는 방법을 제어하려고 합니다.컴파일러에 관한 한 이스케이프 시퀀스 %는 정의되지 않았으며, 아마도 단일 % 문자가 될 것입니다.printf가 \특별히 처리할 준비가 되어 있더라도 \와 %가 모두 printf에 도달하는 것은 어려울 것입니다.

그래서 타자를 쳐야 하는 이유는printf("%%");싱글을 인쇄하기 위해%그것이 바로 printf 함수에 정의된 것입니다. %printf의 이스케이프 문자이며,\컴파일러의.

사용하다"%%" 요구 사항은 다음과 같습니다.

%'%'가 기록됩니다.변환된 인수가 없습니다.전체 변환 사양은 '입니다.%%'.

이 방법으로 인쇄해 보십시오.

printf("%%");

언급URL : https://stackoverflow.com/questions/17774821/how-do-i-print-the-percent-sign-in-c

반응형