??!를 출력하기 위해서는 c 언어에서의 삼중자에 대해 알아야 한다.
삼중자는 자주 쓰지 않는 문자의 조합으로 다른 문자를 표현하는 것이다.
삼중자의 특징은 두 개의 연속되는 ?(물음표 기호)로 시작한다는 것이다.
그러므로 우리가 출력하고자 하는 ??!를 그대로 printf()함수에 넣어 사용한다면, | 부호가 출력될 것이다.
이러한 상황을 막기 위해서는 두 번째 ?(물음표 기호) 앞에 \를 추가해주면 된다.
?\?!
이렇게 표시하면 삼중자로 인삭하는 것을 막아 우리가 원하는 그대로 출력할 수 있다.
printf("?\?!");
int main() {
char id[50];
scanf("%s", id);
printf("%s?\?!", id);
return 0;
}
이렇게 하면 원하는 결과가 출력되는 것을 확인할 수 있다.
채점 결과 정답이다!
이문제 sacnf 에서 & 안써도 컴파일 에러 뜨지 않는 이유가 뭔가요??