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

  • Canceriansoul

    Canceriansou

    15 Ocak 2011
  • edwin maldonado

    edwin maldon

    28 Mart 2009
  • PamtheBlamofficial

    PamtheBlamof

    31 Aralık 2010