Adam Borowski <kilob...@angband.pl> writes:
> On Tue, Jun 21, 2016 at 03:13:21PM +0200, Irrwahn wrote:
>> On Tue, 21 Jun 2016 14:42:46 +0200, Edward Bartolo wrote:
>> [...]
>> >     if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')) {
>> [...]
>> You should *never* assume that the latin letters occur in 
>> the execution character set in ascending consecutive order.
>> (Though similar *is* guaranteed for the digits '0' to '9'!)
>
> Not really -- assuming ASCII is like assuming 8-bit bytes[1].

The UNIX(*) standard meanwhile mandates 8-bit bytes,

        3.84 Byte

        An individually addressable unit of data storage that is exactly
        an octet, used to store a character or a portion of a character;
        see also Character. A byte is composed of a contiguous sequence
        of 8 bits.
        
        http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html

The C standard as mandates continuous encoding of '0' .. '9':

        In both the source and execution basic character sets, the
        value of each character after 0 in the above list of decimal
        digits shall be one greater than the value of the previous.
        [ISO/IEC 9899:1999 (E), 5.2.1|3]

Lastly, if the target system is Linux (as here), one can safely assume
that EBCDIC won't be used.

None of this matter anyhow for solving algorithm exercises in an
entry-level book about a programming language. 
_______________________________________________
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng

Reply via email to