I request you compile with -Wall
option.
aaa.c: In function ‘main’:
aaa.c:6:14: warning: unknown escape sequence: '\X' [enabled by default]
aaa.c:6:14: warning: multi-character character constant [-Wmultichar]
From the above message X is ignored.
And considering '41', this is multi-character character constant.
As @paddy said, last character in the sinle-quotes used. so character '1' is printed.
set of escape sequences
\a alert (bell) character \\ backslash
\b backspace \? question mark
\f formfeed \’ single quote
\n newline \" double quote
\r carriage return \ooo octal number
\t horizontal tab \xhh hexadecimal number
\v vertical tab