SORU
12 Aralık 2014, Cuma


C Dize Hazır Karşılaştırılması

C acemi (sadece oldschool c) ediyorum. Oğlum bu ile yardım istedi ve bunu açıklamak mümkün değil. Eğer bana sormuş olsaydı "nasıl dize karşılaştırma yapabilirim" onu strcmp kullanmak söylerdim(), ama o bana kafa karıştırıcı nedir diye bir şey yok. Sordu:

int main() 
{ 
  cout << ("A"< "Z");
}

yazdırır 1

int main() 
{ 
  cout << ("Z"< "A");
}

ayrıca 1, Ancak yazdırma

int main() 
{ 
  cout << ("Z"< "A");
  cout << ("A"< "Z");
}

sonra 10 baskı. Ayrı ayrı her ikisi de aynı ifadeleri 1, ama farklı bir cevap alıyorum peşpeşe idam yazdırma?

CEVAP
12 Aralık 2014, Cuma


Bellek adresleri mukayese ediyorsunuz. Derleyici onları bulduğu sırada bellekte dize hazır yerler görünüşe göre, ilk kez bu kadar "küçük" saniyeden.

İlk parçasında "A" ve "ikinci" ve "daha az." Z ilk gördüğü günden beri "İkinci ilk, "Z" daha az. "Z görüyor, çünkü Son parçasında, zaten harfleri "A" ve "Z ikinci komut gelip çattığında" yerleştirilmiş. Bir vardır

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Charles Griffin Gibson

    Charles Grif

    26 NİSAN 2006
  • RobertDuskin

    RobertDuskin

    12 HAZİRAN 2008
  • Vsauce

    Vsauce

    30 Temmuz 2007