PDA

View Full Version : [c] non mi funziona...


Andmart
13-10-2007, 17:10
Ciao a Tutti!

Innanzitutto scusate la domanda banale che sto per farvi (sono agli inizi in quanto a programmazione) e il titolo un po' vago...

io ho il seguente programma:

#include <stdio.h>
#include <stdlib.h>

main()
{
int i;

float a;

i= 0;
a= 0;


for (i=0; i < 1000; ++i)
{
a= a+1;
printf ("%8.9f\n", a);

/*inizia qui la mia condizione*/

if (a > 15)

{
while (a < 25);
{
a= a+2;
printf ("%8.9f\n", a);
}
a=1;

}
}
return 0;
}



e mi aspetterei che mostrasse sullo schermo i numeri da 1 a 16, poi facesse 18, 20, 24 e poi ricominciasse da 2 finché il cilclo for non si esaurisce....
Qualcuno di voi potrebbe spiegarmi perchè invece si pianta dopo il numero 16? Ovviamente si tratta di un esempio costruito ad hoc, ma sistemato questo sistemo pure il mio programma serio....

okay
13-10-2007, 17:19
Ciao a Tutti!

Innanzitutto scusate la domanda banale che sto per farvi (sono agli inizi in quanto a programmazione) e il titolo un po' vago...

io ho il seguente programma:

#include <stdio.h>
#include <stdlib.h>

main()
{
int i;

float a;

i= 0;
a= 0;


for (i=0; i < 1000; ++i)
{
a= a+1;
printf ("%8.9f\n", a);

/*inizia qui la mia condizione*/

if (a > 15)

{
while (a < 25);
{
a= a+2;
printf ("%8.9f\n", a);
}
a=1;

}
}
return 0;
}



e mi aspetterei che mostrasse sullo schermo i numeri da 1 a 16, poi facesse 18, 20, 24 e poi ricominciasse da 2 finché il cilclo for non si esaurisce....
Qualcuno di voi potrebbe spiegarmi perchè invece si pianta dopo il numero 16? Ovviamente si tratta di un esempio costruito ad hoc, ma sistemato questo sistemo pure il mio programma serio....


while (a < 25);
{
a= a+2;
printf ("%8.9f\n", a);
}

if(a>24)
a=1;


ciao

Lyane
13-10-2007, 18:05
togli ; nella seguente riga: while (a < 25);