Foro de elhacker.net

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
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