Test Foro de elhacker.net SMF 2.1

Programación => Scripting => Mensaje iniciado por: arcanset en 20 Octubre 2008, 23:21 PM

Título: Algo raro!!
Publicado por: arcanset en 20 Octubre 2008, 23:21 PM
Porque pasa esto?

Defino una variable N

:numero
set n=8

:asdasd
set /a n=%n%-1
if %n%==0 goto numero
echo %n%

cuando vuelve a subir.... envezde 8... el valor que tiene es -1... alomejor en este ejemplo no pero en un codigo en concreto mas o menos esto es lo que me pasa....

habra alguna parte mal?
Título: Re: Algo raro!!
Publicado por: Erik# en 21 Octubre 2008, 20:57 PM
Si, si te das cuenta, declaras dos veces la variable n
Título: Re: Algo raro!!
Publicado por: arcanset en 22 Octubre 2008, 16:51 PM
Pero eso no tiene nada que ver... ya que si N es 0

vuelve a :numero

con lo cual hace que la variable sea 8 de nuevo.... de hecho si pones echo %n% sale 8... pero al pasar al segundo trozo :asdasd nose porque al hacer la resta no se lo resta a 8 (que es el nuevo valor de la variable ya que ha pasado por :numero...) sino que se lo resta a 0

Alguna sugerencia?

Gracias!!
Título: Re: Algo raro!!
Publicado por: Ari--Slash en 23 Octubre 2008, 00:39 AM
Cita de: arcanset en 20 Octubre 2008, 23:21 PM
Porque pasa esto?

Defino una variable N

:numero
set n=8

:asdasd
set /a n[/b]=%n%-1
if %n%==0 goto numero
echo %n%


:numero
set n=8

:asdasd
set /a D=%n%-1
if %D%==0 goto numero
echo %D%



dos veces N, eso te quizieron decir arriba


salu2