Der einzige Unterschied besteht in Beispiel 1, Ihre Anweisung2 wird unabhängig von den von Ihnen geprüften Bedingungen ausgeführt. In Beispiel 2 wird Statement2 nur ausgeführt, wenn Ihre Bedingung if
falsch ist. Ansonsten sind sie grundsätzlich gleich.
Nein, im ersten Fall führen Sie den else-Block nur dann aus, wenn <condition-statement>
nicht verifiziert ist AND nur, wenn <condition-statement-2>
verifiziert ist .
Im zweiten Fall führen Sie den Else-Block einfach aus, wenn <codition-statement>
nicht verifiziert ist.
In diesem Fall sind Sie äquivalent bis Sie keine // Anweisungen-2 haben.
Über die Frage: wann wird das else if (in c ++) verwendet?
Wird grundsätzlich unter den gleichen Bedingungen aller anderen Sprachen verwendet, die dieses Konstrukt haben.
else
wird als Alternative zum verwandten if ausgeführt, wenn else-if
als Alternative ausgeführt wird, aber mit einem 'angefügten' if
, das verifiziert werden soll, andernfalls wird es nicht ausgeführt.
Sie sind also nicht logisch gleichwertig.
Die Syntax eines if ist wirklich if (Bedingung) Aussage;
Was das {} wirklich zulässt, erlaubt Ihnen, mehrere Anweisungen zusammenzufassen. In Ihrem zweiten Beispiel haben Sie nur eine Anweisung (das if) innerhalb Ihrer {} s, also sind beide Beispiele identisch, außer // Anweisungen-2 wird immer ausgeführt, wenn! = True
In Ihrem ersten Codebeispiel wird Anweisung 2 bedingungslos ausgeführt. In der zweiten ist es bedingt. Nicht das Gleiche.
'else if' ist generell vorzuziehen, weil Sie immer mehr von ihnen einfügen oder anhängen können, oder ein 'else' anhängen, während Sie bei der anderen Form endlos mit geschweiften Klammern herumspielen müssen, um den gleichen Effekt zu erzielen und Sie riskieren, die Semantik zu ändern, wie Sie es in Ihrer zweiten Stichprobe auch getan haben.
Tags und Links c++ if-statement