Xref: utzoo comp.lang.modula2:1255 comp.lang.c:15974 Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!csd4.milw.wisc.edu!markh From: markh@csd4.milw.wisc.edu (Mark William Hopkins) Newsgroups: comp.lang.modula2,comp.lang.c Subject: Loop semantics: FOR C := A TO B DO ... Message-ID: <763@csd4.milw.wisc.edu> Date: 3 Feb 89 18:01:11 GMT Sender: news@csd4.milw.wisc.edu Reply-To: markh@csd4.milw.wisc.edu (Mark William Hopkins) Organization: University of Wisconsin-Milwaukee Lines: 17 References: This problem was recently posed: Find a suitable translation in C for a, b, c: CHAR ... FOR c := a TO b DO that correctly accounts for c's remaining inside its subrange 0..127 or 0..255 or whatever. The answer is this: for (c = a; c < b; c++) if (c = b) Of course, if you want to avoid duplication, you can go something like this: for (c = a; c <= b; if (c < b) c++)