


Kann in einem C-Programm eine Kommentaranweisung nur nach einer Anweisung stehen?
Fehler, in der C-Sprache hat der Kommentarteil keinen Einfluss auf die laufenden Ergebnisse des Programms. Er kann an einer beliebigen Stelle im Programm erscheinen. In der Sprache C gibt es zwei Arten von Kommentaren: Der eine ist ein Blockkommentar, der mit „/*“ beginnt und mit „*/“ endet; der andere ist ein einzeiliger Kommentar, der mit „//“ beginnt und mit einem Zeilenumbruchzeichen endet.
Die Betriebsumgebung dieses Artikels: Windows 10-System, C11, Thinkpad T480-Computer.
Verwandte Empfehlungen: C-Sprachvideo-Tutorial
Kommentare in C-Sprache
Beim Schreiben von C-Sprachquellcode sollten Sie mehr Kommentare verwenden, um das Verständnis des Codes zu erleichtern. Es gibt zwei Möglichkeiten zum Kommentieren in der C-Sprache:
Eine ist ein Blockkommentar, der mit /* beginnt und mit */ endet;
Die andere beginnt mit // und endet mit einem Zeilenumbruch. Der Schlusszeilenkommentar .
Sie können die Trennzeichen /* und */ verwenden, um Kommentare innerhalb einer Zeile oder Kommentare in mehreren Zeilen zu markieren. Im folgenden Funktionsprototyp bedeuten die Auslassungspunkte beispielsweise, dass die open()-Funktion einen dritten Parameter hat, der optional ist. Kommentare erläutern die Verwendung dieses optionalen Parameters:
int open( const char *name, int mode, … /* int permissions */ );
Sie können // verwenden, um eine ganze Zeile Kommentare einzufügen, oder den Quellcode in einem zweispaltigen Format schreiben, mit dem Programm in der linken Spalte und Kommentaren in der rechten Spalte :
const double pi = 3.1415926536; // pi是—个常量
In C99 Im Standard wurden einzeilige Kommentare offiziell zur C-Sprache hinzugefügt, aber die meisten Compiler hatten bereits vor C99 damit begonnen, diese Verwendung zu unterstützen. Manchmal werden sie als Kommentare im „C++-Stil“ bezeichnet, tatsächlich sind sie jedoch von BCPL, dem Vorgänger von C, abgeleitet.
Die Position von Kommentaren
In der Sprache C hat der Kommentarteil keinen Einfluss auf die laufenden Ergebnisse des Programms. Er kann an einer beliebigen Stelle im Programm erscheinen.
Beispiel:
int/*....*/i; //正确 char* s="abcdefgh //hijklmn"; //正确 in/*...*/ti; //错误注释会被空格替换 //注意: /*...*/不能嵌套 ,/*总是与离他最近的*/匹配 y=x/*p // 该语句由于没有找到*/ 会报错 //要实现以上功能 可以用y=x/(*p)或y=x/ *p代替
Kommentarspezifikationen
2-1: Generell muss der Anteil der wirksamen Kommentare im Quellprogramm mehr als 20 % betragen.
Hinweis: Das Prinzip von Kommentaren besteht darin, das Lesen und Verstehen des Programms zu erleichtern. Sie sollten nicht zu viele oder zu wenige Kommentare enthalten prägnant.
2-2: Der Dateikopf sollte kommentiert werden und die Kommentare müssen Folgendes enthalten: Copyright-Erklärung, Versionsnummer, Erstellungsdatum, Autor, Inhalt, Funktion, Änderungsprotokoll usw.
Beispiel: Die Header-Kommentare der folgenden Header-Datei sind relativ standardisiert, sie sind natürlich nicht auf dieses Format beschränkt, es wird jedoch empfohlen, die oben genannten Informationen aufzunehmen.
/***************************************************************************** Copyright: 1988-1999, Huawei Tech. Co., Ltd. File name: 文件名 Description: 用于详细说明此程序文件完成的主要功能,与其他模块或函数的接口,输出值、取值范围、含义及参数间的控制、顺序、独立或依赖等关系 Author: 作者 Version: 版本 Date: 完成日期 History: 修改历史记录列表, 每条修改记录应包括修改日期、修改者及修改内容简述。 *****************************************************************************/
2-3: Der Funktionsheader sollte kommentiert werden und Folgendes auflisten: Zweck/Funktion der Funktion, Eingabeparameter, Ausgabeparameter, Rückgabewert, Aufrufbeziehung (Funktion, Tabelle) usw.
Beispiel: Die folgenden Funktionskommentare sind relativ standardmäßig und nicht auf dieses Format beschränkt, es wird jedoch empfohlen, die oben genannten Informationen aufzunehmen.
/************************************************* Function: // 函数名称 Description: // 函数功能、性能等的描述 Calls: // 被本函数调用的函数清单 Called By: // 调用本函数的函数清单 Table Accessed: // 被访问的表(此项仅对于牵扯到数据库操作的程序) Table Updated: // 被修改的表(此项仅对于牵扯到数据库操作的程序) Input: // 输入参数说明,包括每个参数的作// 用、取值说明及参数间关系。 Output: // 对输出参数的说明。 Return: // 函数返回值的说明 Others: // 其它说明 ********************************************/
2-4: Kommentieren Sie beim Schreiben von Code, ändern Sie den Code und ändern Sie gleichzeitig die entsprechenden Kommentare, um die Konsistenz von Kommentaren und Code sicherzustellen. Kommentare, die nicht mehr nützlich sind, werden gelöscht.
2-5: Der Inhalt der Anmerkung muss klar und prägnant sein und die Bedeutung muss korrekt sein, um Mehrdeutigkeiten in der Anmerkung zu vermeiden. Erläuterung: Falsche Kommentare sind nicht nur nicht hilfreich, sondern schädlich.
2-6: Kommentare zum Code sollten oberhalb oder rechts daneben (Kommentare zu einer einzelnen Anweisung) platziert werden , sie müssen darüber stehen. Der Code wird durch Leerzeilen getrennt.
Beispiel: Das folgende Beispiel entspricht nicht der Spezifikation.
Beispiel 1:
/* get replicate sub system index and net indicator */ repssn_ind = ssn_data[index].repssn_index; repssn_ni = ssn_data[index].ni;
Beispiel 2:
repssn_ind = ssn_data[index].repssn_index; repssn_ni = ssn_data[index].ni; /* get replicate sub system index and net indicator */
sollte wie folgt geschrieben werden
/* get replicate sub system index and net indicator */ repssn_ind = ssn_data[index].repssn_index; repssn_ni = ssn_data[index].ni;
2-7: Für alle Variablen und Konstanten mit physikalischer Bedeutung, wenn ihre Namen nicht vollständig selbsterklärend sind, müssen sie wann mit Anmerkungen versehen werden Sie werden erklärt und erklären ihre physikalische Bedeutung. Kommentare für Variablen, Konstanten und Makros sollten neben oder rechts darüber platziert werden.
Beispiel:
/* active statistic task number */ #define MAX_ACT_TASK_NUMBER 1000 #define MAX_ACT_TASK_NUMBER 1000 /* active statistic task number */
2-8: Datenstrukturdeklaration (einschließlich Arrays, Strukturen, Klassen, Aufzählungen usw.). Wenn die Benennung nicht vollständig selbstkommentiert ist, muss sie mit Anmerkungen versehen werden. Kommentare zur Datenstruktur sollten daneben und nicht darunter platziert werden; Kommentare zu jedem Feld in der Struktur sollten rechts von diesem Feld platziert werden.
Beispiel: Die Aufzählungs-/Daten-/Union-Struktur kann wie folgt erklärt werden.
/* sccp interface with sccp user primitive message name */ enum SCCP_USER_PRIMITIVE { N_UNITDATA_IND, /* sccp notify sccp user unit data come */ N_NOTICE_IND, /* sccp notify user the No.7 network can not */ /* transmission this message */ N_UNITDATA_REQ, /* sccp user’s unit data transmission request */ };
2-9: Globale Variablen sollten detailliertere Kommentare haben, einschließlich Beschreibungen ihrer Funktionen, Wertebereiche, welche Funktionen oder Prozeduren auf sie zugreifen und Vorsichtsmaßnahmen beim Zugriff.
Beispiel:
/* The ErrorCode when SCCP translate */ /* Global Title failure, as follows */ // 变量作用、含义 /* 0 - SUCCESS 1 - GT Table error */ /* 2 - GT error Others - no use */ // 变量取值范围 /* only function SCCPTranslate() in */ /* this modual can modify it, and other */ /* module can visit it through call */ /* the function GetGTTransErrorCode() */ // 使用方法 BYTE g_GTTranErrorCode;
2-10: Kommentare werden genauso eingerückt wie der Inhalt, den sie beschreiben.
Beschreibung: Es kann das Programmlayout übersichtlicher gestalten und das Lesen und Verstehen von Kommentaren erleichtern. Beispiel: Das folgende Beispiel ist nicht sauber getippt, was das Lesen etwas erschwert.
void example_fun( void ) { /* code one comments */ CodeBlock One /* code two comments */ CodeBlock Two }
sollte in das folgende Layout geändert werden.
void example_fun( void ) { /* code one comments */ CodeBlock One /* code two comments */ CodeBlock Two }
2-11: Vermeiden Sie das Einfügen von Kommentaren mitten in eine Code- oder Ausdruckszeile.
Hinweis: Sofern nicht erforderlich, sollten Kommentare nicht mitten in Code oder Ausdrücke eingefügt werden, da der Code sonst leicht unverständlicher wird.
2-12: Machen Sie den Code selbstkommentierend, indem Sie Funktionen oder Prozeduren, Variablen, Strukturen usw. richtig benennen und die Struktur des Codes rational organisieren.
Hinweis: Eine klare und genaue Benennung von Funktionen, Variablen usw. kann die Lesbarkeit des Codes verbessern und unnötige Kommentare reduzieren.
2-13: Kommentieren Sie auf Funktions- und Absichtsebene des Codes, um nützliche und zusätzliche Informationen bereitzustellen.
说明:注释的目的是解释代码的目的、功能和采用的方法,提供代码以外的信息,帮助读者理解代码,防止没必要的重复注释信息。
示例:如下注释意义不大。
/* if receive_flag is TRUE */ if (receive_flag)
而如下的注释则给出了额外有用的信息。
/* if mtp receive a message from links */ if (receive_flag)
2-14:在程序块的结束行右方加注释标记,以表明某程序块的结束。
说明:当代码段较长,特别是多重嵌套时,这样做可以使代码更清晰,更便于阅读。示例:参见如下例子。
if (…) { // program code while (index < MAX_INDEX) { // program code } /* end of while (index < MAX_INDEX) */ // 指明该条while 语句结束 } /* end of if (…)*/ // 指明是哪条if 语句结束
2-15:注释格式尽量统一,建议使用“/*…… */”。
2-16:注释应考虑程序易读及外观排版的因素,使用的语言若是中、英兼有的,建议多使用中文,除非能用非常流利准确的英文表达。
说明:注释语言不统一,影响程序易读性和外观排版,出于对维护人员的考虑,建议使用中文。
更多编程相关知识,请访问:编程教学!!
Das obige ist der detaillierte Inhalt vonKann in einem C-Programm eine Kommentaranweisung nur nach einer Anweisung stehen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



C Sprachdatenstruktur: Die Datenrepräsentation des Baumes und des Diagramms ist eine hierarchische Datenstruktur, die aus Knoten besteht. Jeder Knoten enthält ein Datenelement und einen Zeiger auf seine untergeordneten Knoten. Der binäre Baum ist eine besondere Art von Baum. Jeder Knoten hat höchstens zwei Kinderknoten. Die Daten repräsentieren structTreenode {intdata; structTreenode*links; structTreenode*rechts;}; Die Operation erstellt einen Baumtraversalbaum (Vorbereitung, in Ordnung und späterer Reihenfolge) Suchbauminsertion-Knoten Lösches Knotendiagramm ist eine Sammlung von Datenstrukturen, wobei Elemente Scheitelpunkte sind, und sie können durch Kanten mit richtigen oder ungerechten Daten miteinander verbunden werden, die Nachbarn darstellen.

Die Wahrheit über Probleme mit der Dateibetrieb: Dateiöffnung fehlgeschlagen: unzureichende Berechtigungen, falsche Pfade und Datei besetzt. Das Schreiben von Daten fehlgeschlagen: Der Puffer ist voll, die Datei ist nicht beschreibbar und der Speicherplatz ist nicht ausreichend. Andere FAQs: Langsame Dateitraversal, falsche Textdateicodierung und Binärdatei -Leser -Fehler.

C Sprachmultithreading -Programmierhandbuch: Erstellen von Threads: Verwenden Sie die Funktion pThread_create (), um Thread -ID, Eigenschaften und Threadfunktionen anzugeben. Threadsynchronisation: Verhindern Sie den Datenwettbewerb durch Mutexes, Semaphoren und bedingte Variablen. Praktischer Fall: Verwenden Sie Multi-Threading, um die Fibonacci-Nummer zu berechnen, mehrere Threads Aufgaben zuzuweisen und die Ergebnisse zu synchronisieren. Fehlerbehebung: Lösen Sie Probleme wie Programmabstürze, Thread -Stop -Antworten und Leistungs Engpässe.

Algorithmen sind die Anweisungen zur Lösung von Problemen, und ihre Ausführungsgeschwindigkeit und Speicherverwendung variieren. Bei der Programmierung basieren viele Algorithmen auf der Datensuche und Sortierung. In diesem Artikel werden mehrere Datenabruf- und Sortieralgorithmen eingeführt. Die lineare Suche geht davon aus, dass es ein Array gibt [20.500,10,5,100, 1,50] und die Nummer 50 ermitteln muss. Der lineare Suchalgorithmus prüft jedes Element im Array Eins nach eins nach dem anderen, bis der Zielwert gefunden oder das vollständige Array durchquert wird. Der Algorithmus-Flussdiagramm lautet wie folgt: Der Pseudo-Code für die lineare Suche lautet wie folgt: Überprüfen Sie jedes Element: Wenn der Zielwert gefunden wird: Return Return Falsch C-Sprache Implementierung: #includeIntmain (void) {i

Wie gibt ich einen Countdown in C aus? Antwort: Verwenden Sie Schleifenanweisungen. Schritte: 1. Definieren Sie die Variable N und speichern Sie die Countdown -Nummer in der Ausgabe. 2. Verwenden Sie die while -Schleife, um n kontinuierlich zu drucken, bis n weniger als 1 ist; 3. Drucken Sie im Schleifenkörper den Wert von n aus; 4. Am Ende der Schleife subtrahieren Sie N um 1, um den nächsten kleineren gegenseitigen gegenseitigen gegenseitigen gegenseitig auszugeben.

C Sprachdatenstruktur: Überblick über die Schlüsselrolle der Datenstruktur in der künstlichen Intelligenz im Bereich der künstlichen Intelligenz sind Datenstrukturen für die Verarbeitung großer Datenmengen von entscheidender Bedeutung. Datenstrukturen bieten eine effektive Möglichkeit, Daten zu organisieren und zu verwalten, Algorithmen zu optimieren und die Programmeffizienz zu verbessern. Gemeinsame Datenstrukturen, die häufig verwendete Datenstrukturen in der C -Sprache sind: Arrays: Eine Reihe von nacheinander gespeicherten Datenelementen mit demselben Typ. Struktur: Ein Datentyp, der verschiedene Arten von Daten zusammen organisiert und ihnen einen Namen gibt. Linked List: Eine lineare Datenstruktur, in der Datenelemente durch Zeiger miteinander verbunden werden. Stack: Datenstruktur, die dem LEST-In-First-Out-Prinzip (LIFO) folgt. Warteschlange: Datenstruktur, die dem First-In-First-Out-Prinzip (FIFO) folgt. Praktischer Fall: Die benachbarte Tabelle in der Graphentheorie ist künstliche Intelligenz

C -Sprachfunktionen sind wiederverwendbare Codeblöcke, empfangen Parameter für die Verarbeitung und die Rückgabeergebnisse. Es ähnelt dem schweizerischen Armeemesser, mächtig und erfordert sorgfältige Verwendung. Funktionen umfassen Elemente wie das Definieren von Formaten, Parametern, Rückgabetwerten und Funktionskörpern. Die erweiterte Verwendung umfasst Funktionszeiger, rekursive Funktionen und Rückruffunktionen. Häufige Fehler sind Fehlanpassung vom Typ und Vergessen, Prototypen zu deklarieren. Zu den Debugging -Fähigkeiten gehören das Druckvariablen und die Verwendung eines Debuggers. Leistungsoptimierung verwendet Inline -Funktionen. Das Funktionsdesign sollte dem Prinzip der einzigen Verantwortung folgen. Kenntnisse in C -Sprachfunktionen können die Programmierungseffizienz und die Codequalität erheblich verbessern.

Fehlerbehebungstipps für C -Sprachverarbeitungsdateien Wenn Dateien in der C -Sprache verarbeitet werden, können Sie auf verschiedene Probleme stoßen. Das Folgende sind häufig zu Problemen und entsprechende Lösungen: Problem 1: Der Dateicode kann nicht geöffnet werden: Datei*fp = fopen ("myFile.txt", "r"); if (fp == null) {// Datei Öffnen fehlgeschlagen} Grund} Grund: Dateipfad -Fehler -Datei nicht vorhandener Datei -Read -Lösung vorhanden. Charbuffer [100]; size_tread_bytes = fread (Puffer, 1, Siz
