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

  • Jose LviS el Bambino ( JLB )   LviSito

    Jose LviS el

    3 ŞUBAT 2008
  • Gan Eden Productions

    Gan Eden Pro

    11 HAZİRAN 2011
  • TheScorpioTechno

    TheScorpioTe

    15 Aralık 2010