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

  • Best Quality Cartoons

    Best Quality

    10 ŞUBAT 2014
  • Ricardo Cerqueira

    Ricardo Cerq

    28 Mayıs 2008
  • Visual Life

    Visual Life

    3 Temmuz 2006