cc99c89

What does //**/ mean?


I have got snippet of old C-code with these lines (result is just slash sign):

putchar('/' //**/ 
    1 / 1 /'\1');

Can anyone explain this snippet? What does this symbols mean?

P.S. By the way it compiles well with --std=c89 flag in gcc, but not with --std=c99.


Solution

  • That's a division, followed by an empty comment. In C99 mode, it's a new-style comment, causing a syntax error because there's no division operator now.