SORU
6 Temmuz 2012, Cuma


Strlen eğer bir döngü koşulu yerine kullanılan ve birden çok kez hesaplanır?

Eğer aşağıdaki kodu gereksiz hesaplamalar neden olabilir emin değilim, ya da derleyici özgü?

for (int i = 0; i < strlen(ss);   i)
{
    // blabla
}

strlen() i arttığında her zaman hesaplanacak?

CEVAP
6 Temmuz 2012, Cuma


Evet, strlen() her yineleme değerlendirilecektir. İdeal koşullar altında, doktoru değeri değişmeyecek anlamak mümkün olabilir, ama ben şahsen buna güvenmek olmaz.

Gibi bir şey yapmak istiyorum

for (int i = 0, n = strlen(ss); i < n;   i)

ya da muhtemelen

for (int i = 0; ss[i];   i)

dize yineleme sırasında uzunluğu değiştirmeyecek sürece. Eğer, strlen() her zaman Ara, ya da daha karmaşık mantık yoluyla başa gerekir.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Edge-CGI 3D Tutorials and more!

    Edge-CGI 3D

    11 HAZİRAN 2013
  • midomansour

    midomansour

    19 EYLÜL 2009
  • Phlearn Photoshop and Photography Tutorials

    Phlearn Phot

    11 EKİM 2011