0
Gibt es eine Möglichkeit Variable zu deklarieren in if-Anweisung (mit ANSI C nur)?Deklarieren Variable in if-Anweisung (ANSI C)
Beispiel:
if(int variable = some_function())
{
return 1;
}
Gibt es eine Möglichkeit Variable zu deklarieren in if-Anweisung (mit ANSI C nur)?Deklarieren Variable in if-Anweisung (ANSI C)
Beispiel:
if(int variable = some_function())
{
return 1;
}
Nein, können Sie das nicht tun.
Was können Sie tun, ist es, einen Block zu erstellen, für die if
{
int variable;
variable = some_function();
if (variable) return 1;
}
/* variable is out of scope here */
Beachten Sie, dass für diesen einfachen Fall, dass Sie die Funktion als Bedingung der if
nennen können (keine Notwendigkeit für eine zusätzliche Variable)
if (some_function()) return 1;
Nr , die nicht in C erlaubt ist – BLUEPIXY
http://stackoverflow.com/questions/8474100/where-you-can-and-cannot-declare-new-variables-in-c –
Nach an die [ANSI C Grammatik] (https://www.lysator.liu.se/c/ANSI-C-grammar-y.html#expression), ist die Grammatik für die if-Anweisung 'IF '(' Ausdruck ') "Aussage". 'expression' kann nicht in' declaration' aufgelöst werden, daher gibt es keine Möglichkeit, eine Deklaration in eine if-Anweisung wie in Ihrem Beispiel einzufügen. –