SORU
5 Mayıs 2015, Salı


Neden alfabesi bu C kodunda birden fazla aralıkları ayrılır?

Özel bir kütüphanede bir uygulama gördüm

inline int is_upper_alpha(char chValue)
{
    if (((chValue >= 'A') && (chValue <= 'I')) ||
        ((chValue >= 'J') && (chValue <= 'R')) ||
        ((chValue >= 'S') && (chValue <= 'Z')))
        return 1;
    return 0;
}

Easter egg ya da avantajları nelerdir C ... vs standart bir yöntem mi?

inline int is_upper_alpha(char chValue)
{
    return ((chValue >= 'A') && (chValue <= 'Z'));
}

CEVAP
5 Mayıs 2015, Salı


Yazarın bu kod muhtemelen vardı destek EBCDIC bir noktada, sayısal değerler harfler bitişik olmayan (boşluklar arasında bulunması I, J R, S, tahmin ettiğiniz gibi).

Bunu belirtmekte fayda olan C ve C standartları garanti eden karakterler 0 9 bitişik sayısal değerler için tam da bu yüzden, bu yüzden de bu yöntem kesinlikle standart-uyumlu.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ciaran Blumenfeld

    Ciaran Blume

    20 NİSAN 2009
  • karneson

    karneson

    23 Temmuz 2006
  • Noam Erez

    Noam Erez

    3 NİSAN 2012