Are. In fact, the following code is a semi-famous use of trigraphs to
write code that is difficult to read (I use C++ here for its "//"
comments):
#include <stdio.h>
int main()
{
printf("First line\n"); // WHAT is going on here ??/
printf("Stealth line\n");
}
When compiled and run, the output of the above is just
First line
when most people would expect
First line
Stealth line
This is because the ??/ trigraph expands to the backslash very early
on, and the backslash causes the next line to the appended to the
current line. The second printf is therefore part of the comment on
the first line.
Fun and games all around
(It varies a bit however as to whether trigraphs default to being
enabled or not in different compilers. When I compile the above code
with Sun C++ 5.8, the trigraph is substituted. When I compile it with
gcc 2.95.4, I need to add the "-trigraphs" option for the same to
happen - gcc defaults to having both lines of text printed.)
Cheers,
Bent D.