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

  • 8lacKy

    8lacKy

    30 Mart 2009
  • multimediaGEEKS LLC

    multimediaGE

    3 Mayıs 2010
  • Virtual Riot

    Virtual Riot

    19 Mayıs 2011