2016-12-14 5 views
3

Wie die mehrzeiligen Kommentarzeichen zu ignorieren sind innerhalb ein weiterer mehrzeiliger Kommentar?C Programmierung - Mehrzeilige Kommentare

sagen, dass ich den gesamten Code in Kommentaren setzen wollen, so dass ich andere Dinge in meinem Code testen

/* This is my first comment */ 
printf("\n This is my first print command"); 

/* This is my second comment */ 
printf("\n This is my second print command"); 

Wenn ich

/* 

/* This is my first comment */ 
printf("\n This is my first print command"); 

/* This is my second comment */ 
printf("\n This is my second print command"); 

*/ 

tun wird dieser Fehler erzeugt wird.

+2

Die meisten modernen IDEs verfügen über Werkzeuge, die Ihnen bei der Erstellung eines Blockkommentars helfen können, und das alles mit einem einzigen Mausklick. Wie der Antwort-Kommentar unten sagt, können Sie das wahrscheinlich nicht tun. –

+0

Auch das ist ein guter Grund, keine Mehrfachzeilenkommentare zu verwenden. –

Antwort

7

Was Sie erwarten hier ist die mehrzeilige Kommentare verschachtelt.

direkt aus dem Standard-C11, Kapitel Zitiert §6.4.9,

Außer innerhalb einer Zeichenkonstante, ein Zeichenfolgenliteral oder ein Kommentar, die Zeichen /* vorstellen Kommentar. Der Inhalt eines solchen Kommentars wird nur untersucht, um Multibyte-Zeichen zu identifizieren und die Zeichen */ zu finden, die ihn beenden. 83)

und die Fußnote,

83) So /* ... */ Kommentare nicht nisten.

Als Abhilfe können Sie die bedingte Kompilierung Block als

#if 0 
. 
. 
. 
. 
#endif 

verwenden ein ganzer Block kommentiert zu haben, aus.

+0

@iharob Richtig, deshalb erwähnte ich _commemened in Kursivschrift_. :) –

+1

Danke :) StackOverflow fügt Dinge zu meinem Lernen hinzu. Glücklich darüber. Ich habe nie # wenn 0 ..... #endif. Also vielen Dank :) –

2

Was können Sie tun, ist

#if 0 
/Code that needs to be commented/ 
#endif 
1

Ich nehme an, Sie wollen einen Code kommentieren Sie selbst Kommentare enthalten.

können Sie conditionnal Zusammenstellung für diesen Einsatz:

#if 0 
/* This is my first comment */ 
printf("\n This is my first print command"); 

/* This is my second comment */ 
printf("\n This is my second print command"); 
#endif 

Alles zwischen #if 0 und #endif wird vom Compiler ignoriert werden, nur wenn es sich um ein Kommentar war.