Je veux savoir s'il y a moyen pour le compilateur de comprendre que deux instructions if
ne peuvent pas être vraies en même temps, et d'ajouter un "implicite else". Par exemple, dans cet exemple de code:optimisation du compilateur implicite else
int main() {
char c;
scanf_s("%c", &c, 1);
if (c == '1') {
printf("received 1\n");
}
if (c == '2') {
printf("received 2\n");
}
return 0;
}
c
ne peut pas être '1'
et'2'
, mais après la compilation dans Visual Studio et désassemblage j'ai remarqué qu'il vérifiera la deuxième if
, peu importe quoi.
Vérifiez une version de version. –
Quelle réponse attendez-vous, en plus de * "c'est possible, mais cela dépend du compilateur" *? – user694733
@BaummitAugen J'ai vérifié la version finale. – yeger