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