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

  • Blendtec

    Blendtec

    30 EKİM 2006
  • Rhapsody

    Rhapsody

    7 ŞUBAT 2008
  • Within Temptation

    Within Tempt

    18 EYLÜL 2006