From: Ross Litscher Newsgroups: comp.os.msdos.djgpp Subject: Re: compile warning Date: Sat, 10 May 1997 17:17:46 -0400 Organization: The Ohio State University Lines: 74 Message-ID: <3374E5FA.5F45@osu.edu> References: <97May10.184721gmt+0100 DOT 16645 AT internet01 DOT amc DOT de> <3374B89C DOT 52FC7701 AT alcyone DOT com> <3374E145 DOT 7177 AT osu DOT edu> Reply-To: Litscher DOT 1 AT osu DOT edu NNTP-Posting-Host: s-100-225.resnet.ohio-state.edu Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Precedence: bulk Ross Litscher wrote: > > Erik Max Francis wrote: > > > > Chris Croughton wrote: > > > > > > first, this is pure and simple C. in any case, void is not a valid > > > > return type for main. > > > > > > Incorrect. Void is a perfectly good return type for main. > > > > Wrong. ANSI C standard, section 5.1.2.2.1. > > > > > > main has to return an int. > > > > > > No it doesn't. It only needs to generate any specific exit value > > > if you will be using the result to test the state of the program > > > afterwards (like in make or with the batch ERRORLEVEL). > > > > No; the standard dictates that main must conform to one of the following > > two prototypes: > > > > int main(void); > > int main(int argc, char *argv[]); > > > > > And even > > > then it's perfectly valid to use exit(n) rather than return. > > > > ANSI C 7.10.4.3. Control is returned to the host environment, and > > successful termination or unsuccessful termination is "returned." This > > means that from the point of view of a program-executing environment, > > calling exit makes the program look like it returned from main. > > > > > It may be considered, in some places, good /style/ to declare main > > > as int, but that's a long way from it being an absolute. > > > > No. It is an ANSI violation to have main return anything other than int, > > even if your host environment doesn't do anything valuable with the return > > values. > > > > > Even with -Wall -ansi -pedantic I can't get gcc to complain about > > > void main... > > > > So? Just because a compiler doesn't complain about something doesn't that > > something ANSI C compliant. > > -- > > Erik Max Francis, &tSftDotIotE / email / max AT alcyone DOT com > > Alcyone Systems / web / http://www.alcyone.com/max/ > > San Jose, California, United States / icbm / 37 20 07 N 121 53 38 W > > \ > > "The future / is right there." > > / Bill Moyers > > Sorry, I didn't mean for my sloppy coding, and using mostly code I found > on the net, to start a debate. :/ > > so, the stdio.h was the problem with the rand(). That part of the code > is what I got off a tutorial, so I assumed it to be correct. as for my > code for slowing down the program, i should do something like delay(250) > or something... and for the 'void main(void) y'all confused me a bit. > should i do something like: > > int main() > { > ... > return 0; > } > > remember, newbie here, just trying to clear things up in my mind. I'd > like to do things correctly.... someday. please be patient. > > Ross oops, i meant stdlib.h for rand()