SORU
10 HAZİRAN 2011, Cuma


'in bu C ifadesi beklenen ayracı-çevrili bir blok koyar varmıdır?

Garip bir C programına denk geldim.

#include <iostream>
using namespace std;
int main()
{
  int a = ({int x; cin >> x; x;});
  cout << a;
}

Herkes neler olduğunu açıklayabilir mi? Bu oluşturmak nedir?

CEVAP
10 HAZİRAN 2011, Cuma


a kullanıcı giriş değeri atar ve ekrana yazdırır. Statement Expression kullanılarak yapılır.

Açıklama ifadeleridirgnu gcc compiler extensionC/C standartları tarafından desteklenen değil. Deyim ifade kullandığı, bu nedenle herhangi bir kod standart olmayan ve uygun olmayan taşınabilir.

IBM IBM XL C/C v7.0 da İfade İfadeler destek ve bu doccumentation uygun bir şekilde açıklar:

Deyim Deyimler:

Bileşik deyim parantez içine alınmış bir dizidir. GNU C, parantez içinde bileşik bir deyim Statement expression denilen bir ifade gibi görünebilir.

         .--------------.
         V              |
>>-(--{----statement--;- --}--)--------------------------------><

Deyim bir ifadenin değeri olan tüm yapı görünmesini geçen basit bir ifadenin değeridir. Eğer son ifade bir ifade ise, o zaman bu tür geçersiz ve değersizdir oluşturmak.

Her zaman derleme kodunuzu seçerek bir sandard GCC için seçenekler -ansi, -std=c90 -std=iso9899:1990, -std=c 03, -std=c 0x; elde etmek için tüm teşhisin gerekli standart, gerektiğini de belirtmek -pedantic (ya da -pedantic-errors isterseniz onlara hata yerine uyarı)

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Evan Coury

    Evan Coury

    29 NİSAN 2007
  • PC Learning Zone - Computer Training

    PC Learning

    8 EYLÜL 2006
  • TantalizingTrance

    TantalizingT

    15 ŞUBAT 2009