Message-ID: <3736A098.55E268BE@softhome.net> From: Chris Mears X-Mailer: Mozilla 4.04 [en] (Win95; I) MIME-Version: 1.0 Newsgroups: comp.os.msdos.djgpp Subject: Re: ? array[n] or array[n+1] ? References: <37367f71 DOT 6271443 AT news DOT wanadoo DOT fr> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Lines: 30 Date: Mon, 10 May 1999 19:02:16 +1000 NNTP-Posting-Host: 139.134.194.206 X-Trace: newsfeeds.bigpond.com 926326530 139.134.194.206 (Mon, 10 May 1999 18:55:30 EST) NNTP-Posting-Date: Mon, 10 May 1999 18:55:30 EST Organization: Telstra BigPond Internet Services (http://www.bigpond.com) To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com Because you're overrunning the array. "int bit[63][6]" means that the first index must be between 0 and 62 inclusive, and the second is between 0 and 5, inclusive. I don't know why Visual C complains, but the reason djgpp doesn't is because it trusts you. It assumes you know what you're doing, and lets you do it uninhibited. Chris Gallicus wrote: > > Can somebody explain why > > int bit[63] [6]; > > for (i=0; i<= 63; i++) > { k=i; > for (j=1;j<=6; j++) > { bit[i][j] = k % 2; > k=k / 2; > } > } > > throws a runtime error with MS Visual C++ 5.0 (because it requires > int bit[64] [7]) > > and DJGPP is quite satisfied with int bit[63] [6] ? > > TIA. > > Gallicus.