Die leere Semikolonanweisung in C [] (Die leere Semikolonanweisung in C), Lektion, Seite 722992
https://www.purl.org/stefan_ram/pub/leere_semikolonanweisung_c (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
C-Kurs

Die leere Semikolonanweisung in C 

Syntax der leeren Semikolonanweisung

     .-.
--->( ; )--->
'-'

Die leere Semikolonanweisung besteht aus einem einzelnen Semikolon.

Semantik der leeren Semikolonanweisung

Die Ausführung der leeren Semikolonanweisung hat keine Wirkung.

Beispiel zur leeren Semikolonanweisung

Das folgende Beispielprogramm enthält in der Verbundanweisung der main -Funktion eine leere Anweisung.

main.c
int main( void ){ ; }
stdout
keine Ausgabe.

Die leere Anweisung in der if -Anweisung

Das folgende Programm gibt »x « aus, obwohl x  0 ist.

main.c
#include <stdio.h>

int main( void )
{ int const x = 0;
if( x );
puts( "x" ); }
stdout
x

Es könnte sein, daß es beabsichtigt war, daß die Ausgabeanweisung Teil der if -Anweisung ist. Eine if -Anweisung kann jedoch immer nur eine  andere Anweisung enthalten, und dies ist im Falle der Anweisung »if( x );« bereits das Semikolon »;«. Es handelt sich hierbei vermutlich um einen Flüchtigkeitsfehler, welcher durch Löschen des Semikolons »;« behoben werden kann. Weil das Semikolon an dieser Stelle aber syntaktisch erlaubt ist, wird dieses Programm von einer C -Implementation akzeptiert und ausgeführt.

Nutzen der leeren Semikolonanweisung

Zu diesem Zeitpunkt kann kein Programmbeispiel gezeigt werden, in dem die leere Semikolonanweisung unbedingt benötigt wird. Sie wurde hier nur behandelt, um zu erklären, warum es im Falle der Anweisung »if( x );« keine Fehlermeldung gibt. Sie hilft auch zu verstehen, warum es bei einem versehentlich getippten doppelten Semikolon, wie in »printf( "%d\n", 2 );;« ebenfalls keine Fehlermeldung gibt.

Zitate zur leeren Semikolonanweisung

N1570 (gekürzt und leicht überarbeitets)
6.8.3 Expression and null statements
Syntax
1 expression-statement:
expressionopt  ;
Semantics
3 A null statement (consisting of just a semicolon) performs no operations.

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Eine Verbindung zur Stefan-Ram-Startseite befindet sich oben auf dieser Seite hinter dem Text "Stefan Ram".)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. Schlüsselwörter zu dieser Seite/relevant keywords describing this page: Stefan Ram Berlin slrprd slrprd stefanramberlin spellched stefanram722992 stefan_ram:722992 Die leere Semikolonanweisung in C Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd722992, slrprddef722992, PbclevtugFgrsnaEnz Erklärung, Beschreibung, Info, Information, Hinweis,

Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram.
https://www.purl.org/stefan_ram/pub/leere_semikolonanweisung_c