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

  • skiesofblack.net

    skiesofblack

    14 HAZİRAN 2009
  • steeletraining

    steeletraini

    28 NİSAN 2010
  • FF Radioo

    FF Radioo

    14 ŞUBAT 2007