SORU
17 Mart 2011, PERŞEMBE


Neden yok't, a, b, C iş?

int main ()
{
   int a = 5,b = 2;
   printf("%d",a     b);
   return 0;
}

Bu kod, aşağıdaki hata verir:

hata: lvalue artış işlenen gerektiği gibi

Ama eğer boşluk koyarsam a b boyunca sonra gayet iyi çalışıyor.

int main ()
{
   int a = 5,b = 2;
   printf("%d",a       b);
   return 0;
}

Hata ilk örnekte ne demek?

CEVAP
17 Mart 2011, PERŞEMBE


printf("%d",a b); Maximal Munch kuralına göre (a ) b olarak yorumlanır!.

(postfix) ama işlenen lvalue gerekir lvalue bir değerlendirme değil.

! 6.4/4 diyor bir sonraki önişleme simgesi önişleme token teşkil edebilecek bir karakter en uzun sıra"

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • bobono1baby

    bobono1baby

    14 AĞUSTOS 2011
  • Shaollin Animes

    Shaollin Ani

    19 HAZİRAN 2013
  • superemposed

    superemposed

    25 Aralık 2007