Syntax: Einzelne Anweisung in der Funktionsdeklaration

8

In der Programmiersprache C ist es möglich, bei einer einzelnen Anweisung einen Codeblock wegzulassen, zB:

%Vor%

Nun, gilt das nur für Bedingungen? Warum gilt das nicht bei Funktionen:

%Vor%     
overscore 07.07.2011, 14:37
quelle

3 Antworten

18
___ qstnhdr ___ Syntax: Einzelne Anweisung in der Funktionsdeklaration ___ tag123c ___ C ist eine universelle Computerprogrammiersprache, die für Betriebssysteme, Bibliotheken, Spiele und andere Hochleistungsanwendungen verwendet wird. Dieses Tag sollte bei allgemeinen Fragen zur C-Sprache verwendet werden, wie in der Norm ISO 9899: 2011 definiert. Fügen Sie ggf. ein versionsspezifisches Tag wie c99 oder c90 für Fragen zu älteren Sprachstandards hinzu. C unterscheidet sich von C ++ und es sollte nicht mit dem C ++ - Tag kombiniert werden, wenn ein rationaler Grund fehlt. ___ tag123syntax ___ Syntax bezieht sich auf die eigentlichen Sprachelemente und Symbole selbst. Fragen sollten als Syntax gekennzeichnet werden, wenn sich die Frage spezifisch und fast vollständig auf die Syntax bezieht. Dieses Tag sollte mit einem bestimmten Sprach-Tag verwendet werden ___ answer6612754 ___

Es gibt einen sehr alten Dialekt von C, das K & amp; R C. In diesem Dialekt kann die Funktionsdeklaration so aussehen:

%Vor%

Ich denke, es wäre zu schwer, es ohne if und else zu parsen.

    
___ qstntxt ___

In der Programmiersprache C ist es möglich, bei einer einzelnen Anweisung einen Codeblock wegzulassen, zB:

%Vor%

Nun, gilt das nur für Bedingungen? Warum gilt das nicht bei Funktionen:

%Vor%     
___ answer6612434 ___
  • Die Syntax einer bedingten Anweisung lautet wie folgt:

    %Vor%
  • Eine zusammengesetzte Aussage ist eine Aussage.

  • A %code% ist definiert als

    %Vor%
  • Die Syntax einer Funktionsdefinition ist dies

    %Vor%
  • Also muss ein Funktionskörper definitionsgemäß eine zusammengesetzte Anweisung sein und %code%

  • haben
  • QED :)

___ antwort6612430 ___

Es ist ein Merkmal der C-Syntax. In BNF ist eine Funktionsdefinition etwas wie

%Vor%

während eine Aussage

ist %Vor%

(Vereinfachung, um gemischte Deklarationen und Anweisungen zuzulassen, die C ++ erlaubt, aber C nicht), und eine %code% -Anweisung ist

%Vor%

den %code% Teil für jetzt auslassen.

Der Grund dafür ist, dass Sie sonst die Funktion

schreiben könnten %Vor%

als

%Vor%

aber die letztere Syntax wird bereits verwendet, um eine Deklaration zu bezeichnen.

    
___
Fred Foo 07.07.2011, 14:41
quelle
4
  • Die Syntax einer bedingten Anweisung lautet wie folgt:

    %Vor%
  • Eine zusammengesetzte Aussage ist eine Aussage.

  • A compound statement ist definiert als

    %Vor%
  • Die Syntax einer Funktionsdefinition ist dies

    %Vor%
  • Also muss ein Funktionskörper definitionsgemäß eine zusammengesetzte Anweisung sein und {}

  • haben
  • QED :)

Armen Tsirunyan 07.07.2011 14:41
quelle
1

Es gibt einen sehr alten Dialekt von C, das K & amp; R C. In diesem Dialekt kann die Funktionsdeklaration so aussehen:

%Vor%

Ich denke, es wäre zu schwer, es ohne { und } zu parsen.

    
Michas 07.07.2011 15:03
quelle

Tags und Links