Biz gidersek Tek bir kelime değildir taslak C ++ standart bölüm 2.12
Anahtar kelimeler masa 4
listeleri hem if
ve else
ayrı ayrı ve hiçbir orada else if
anahtar kelime. Anahtar kelimelerle ilgili cppreferences bölümüne giderek daha erişilebilir bir C ++ anahtar kelime listesi bulabiliriz .
Bölümdeki dilbilgisi 6.4
de bunu netleştirir:
selection-statement:
if ( condition ) statement
if ( condition ) statement else statement
if
İçinde else if
bir olduğunu deyimi aşağıdaki else
terim. Bölüm ayrıca şunları söylüyor:
[...] Bir seçim ifadesindeki ikame (her alt
ifade , if ifadesinin else biçiminde ) örtük olarak bir blok kapsamını (3.3) tanımlar. Bir seçim ifadesindeki alt ifade tek bir ifadeyse ve bileşik bir ifade değilse, orijinal alt ifadeyi içeren bir bileşik ifade olacak şekilde yeniden yazılmış gibidir.
ve aşağıdaki örneği sağlar:
if (x)
int i;
can be equivalently rewritten as
if (x) {
int i;
}
Öyleyse, biraz genişletilmiş örneğiniz nasıl çözümlenir?
if
statement_0;
else
if
statement_1;
else
if
statement_2 ;
şu şekilde ayrıştırılacak:
if
{
statement_0;
}
else
{
if
{
statement_1;
}
else
{
if
{
statement_2 ;
}
}
}
Not
Biz de o belirleyebilir else if
fark kadar bir anahtar kelime olamaz anahtar kelimeler şunlardır tanımlayıcılar ve biz cevabım bir tanımlayıcı için gramer görebilirsiniz sayısal bir rakam ile bir sınıf adı başlayabilirim? tanımlayıcılarda boşluklara izin verilmez ve bu nedenle else if
tek bir anahtar kelime olamaz, ancak iki ayrı anahtar kelime olmalıdır .
else if