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

  • Alfredo Garcia

    Alfredo Garc

    25 Mayıs 2007
  • VJ VIMANA

    VJ VIMANA

    3 Mayıs 2007
  • Willie D.

    Willie D.

    16 Aralık 2006