6.4.9 Notes
1. In addition to a character constant, a string literal, or a comment, the characters/ * introduces a comment. The content of such a comment is checked only for the identification of multibyte characters and is to be found * /to terminate. [Note: Thus,/* ... * /comments are not nested. ]
2. Except in a character constant, a string literal, or a comment, the character // introduces a comment that contains all subsequent multibyte characters, but does not include the next newline character. The contents of such a comment are checked only to identify multibyte characters and find the next newline character to terminate.
3. Example
"a//b" //four-character string literal#include"//e" //no behavior defined// */ //comments that do not cause a syntax errorf = g/**//h;//equivalent to f = g/h;//\I ();//part of a two-line comment//J ();//part of a two-line comment#defineGlue (x, y) x# #yGlue (/,/) K ();//syntax error, not comment/*//*/L ();//equivalent to L ();m = n//**/o+ P;//equivalent to M = n + p;
ISO/IEC 9,899:2011 clause 6.4.9--Comment