배열없이 3개 정수 정렬하기
3개의 정수에서만 사용할 수 있는 트릭을 사용한 코드이다.최솟값과 최댓값을 알면 나머지 한 값도 알 수 있는 방식이다. #include #include int main(int argc, char const *argv[]) { int m, M, val, i, t; m = INT_MAX, M = INT_MIN, t = 0; for(i = 0; i val) m = val; if(M < val) M = val; t ^= val; } t ^= m ^ M; printf("정렬한 결과 : %d %d %d\n", m, t, M); return 0; }
삼중자(Trigraph)
C언어에서 기본으로 사용하는 문자집합(Character set)은 ASCII입니다.하지만 일부 국가들에서 ISO/IEC 646를 기준으로 하는 키보드를 사용하는데, 우리나라도 여기에 포함됩니다. 여기서 ISO/IEC 646이란 7비트로 문자를 표기하는 방식을 선언해놓은 것으로 미국의 체계인 ASCII를 기반으로 합니다. 숫자나 알파벳은 공통적인 부분과 일부 문장부호(!, ", #, $, &, :, ?, @, [, \, ], ^, _, `, {, |, }, ~)에 대해서 각 나라의 상황에 맞게 변경할 수 있는 부분으로 구성되어 있습니다. 한국의 경우 백슬래시(\)가 원화(\)로 표기됩니다. 그래서 일부 C언어 책자에서 처음에 등장하는 Hello, World!를 출력하는 과정에서 \가 등장하는데 이 문자를 ..