일부 K & R CI를 읽은 후 printf가 "%% 자체를 인식"할 수 있음을 확인했습니다.이 테스트를 수행하고 "%"를 출력 한 다음 "%"도 인쇄 한 "\ %"를 시도했습니다.
그래서 어떤 차이가 있습니까?
코드 요청 편집 :
#include <stdio.h>
int main()
{
printf("%%\n");
printf("\%\n");
return 0;
}
산출:
%
%
-o를 사용하여 GCC로 컴파일
GCC 버전 : gcc (SUSE Linux) 4.8.1 20130909 [gcc-4_8-branch 수정 버전 202388]
%%
C 이스케이프 시퀀스가 아니라 자체 특수 문자에 대한 이스케이프 역할을하는 printf 포맷터입니다.
\%
C 이스케이프 시퀀스의 구문이 있지만 정의 된 의미가 없기 때문에 불법입니다. 표준으로 나열된 몇 가지 이외의 이스케이프 시퀀스는 컴파일러에 따라 다릅니다. 아마도 컴파일러는 백 슬래시를 무시하고 printf
런타임에 백 슬래시를 보지 못했습니다. 그렇다면 백 슬래시가 .NET에 특별하지 않기 때문에 출력에 백 슬래시를 인쇄했을 것 printf
입니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다