Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Yet another MSVC weird behaviour

Author: José Carlos

Date: 08:16:20 12/27/01

Go up one level in this thread


On December 27, 2001 at 09:11:23, Michel Langeveld wrote:

>On December 27, 2001 at 09:02:00, José Carlos wrote:
>
>>
>>  When things like these happen, I don't know whether it is the compiler that
>>doesn't work or I'm losing my mind. Yesterday I added this piece of code:
>>
>>for (i=0;i<PosActual->NumPeonesB;i++)
>>{
>>	cCol=Columna(g_iPL_PB[i]);
>>	cFil=Fila(g_iPL_PB[i]);
>>	if (cFil>Retrasado(uPeonesB[cCol]))
>>uPeonesB[cCol]=(ParteAvanzada(uPeonesB[cCol]))|(unsigned int)(cFil);
>>	if (cFil<Avanzado(uPeonesB[cCol]))
>>uPeonesB[cCol]=(cFil<<16)|ParteRetrasada(uPeonesB[cCol]);
>>}
>>for (i=0;i<PosActual->NumPeonesN;i++);
>
>You have an ; after the for. This probably not what you want.

  A typo, sorry. It's not in my code. I removed the comments before posting the
code here and placed that ; for error.

>>{
>>	cCol=Columna(g_iPL_PN[i]);
>>	cFil=Fila(g_iPL_PN[i]);
>>	if (cFil<Retrasado(uPeonesN[cCol]))
>>uPeonesN[cCol]=(ParteAvanzada(uPeonesN[cCol]))|(unsigned int)(cFil);
>>	if (cFil>Avanzado(uPeonesN[cCol]))
>>uPeonesN[cCol]=(cFil<<16)|ParteRetrasada(uPeonesN[cCol]);
>>	i++;
>>}
>
>And about the counter
>for (int i=0; i<7; i++)
>{
>   cout << i << endl;
>}
>
>cout << i << endl;
>
>means that the counter printed is 7 at last.
>In my opinion it's better not to rely i = 7 and make your code robust.

  I don't understand this. I want to loop through the pawn list. I have 8 pawns,
so I loop between 0 and 7 (i<8). What do you mean? Better to write i<=7 instead?

  José C.



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.