Hola, no entiendo muy bien el funcionamiento de la variable aux en este trozo de programa. Se supone que la variable aux queda con lo declarado en el for anterior pero la segunda parte no me queda clara. Se supone que la variable i es menos o igual que aux, que es todo lo del primer ciclo for:S, no entiendo como puede ser menos o igual a 3 instrucciones distintas.Gracias;)
for(i=0; (frase=getchar())!='\n'; ++i)
aux=i;
for (i=0; i<=aux; ++i)
Y por qué no. Fíjate en el resultado del printf en el siguiente caso, y observa como la variable i sufre un incremento de tres unidades por los tres i++ que se encuentra antes de volver a tomar un nuevo valor:#include <stdio.h>
#include <stdlib.h>
int main()
{
int i,aux=0;
char frase[80];
for(i=0; (frase[++i]=getchar())!='\n';++i)
{
aux=i;
for (i=0; i<=aux; ++i)
printf ("aux=%d i=%d\n",aux,i);
}
return 0;
}
Por cierto, dos puntualizaciones:
* tú código como está for(i=0; (frase=getchar())!='\n'; ++i)
te dará error.
* por qué vas cambiando de foro las casi mismas cuestiones?[/size]