Autor
|
Tema: Pequeña duda de este parámetro del for. (Leído 2,959 veces)
|
anonimo12121
|
Hola quisiera saber que es lo que compara el segundo parámetro del for. int main(int argc,char *argv[]){ char a[100]; gets(a); for(int i=0;a[i];i++){ if(a[i]==' ')a[i]='_'; } puts(a); cin.get(); return 0; }
|
|
|
En línea
|
|
|
|
d00ze13
Desconectado
Mensajes: 78
|
pues creo que es que te hace el bucle mientras a contenga i y como cuando el bucle llega al final de la cadena introducida hace que a contenga una barra baja con lo cual se sale del bucle porque a ya no va a contener un numero sino que tendra una baarra baja nose si me explique bien xd
|
|
« Última modificación: 30 Marzo 2011, 13:41 pm por d00ze13 »
|
En línea
|
|
|
|
d00ze13
Desconectado
Mensajes: 78
|
por ejemplo si introduces la cadena hola, va a hacer esto i=0;i[0];i++ // h i=0;i[1];i++ // o i=0;i[2];i++ // l i=0;i[3];i++ // a
i=0;i[_];i++ // la barra baja y se sale del bucle ya que no cumple la condicion de que sea un entero
|
|
|
En línea
|
|
|
|
Saberuneko
|
El segundo parametro es la condicion de repetición. Basicamente, tal como aparece ahora, recorre el vector "a", siendo "i" la posición actual del mismo, tal como está, solo pararía con valor "0". (ya que C no tiene variables lógicas (booleanas), eso significa que el bucle parará cuando se encuentre con un "0" en el vector). <<Para C, todo es true, excepto el "0" que es considerado false>>
Dentro del bucle, lo que se hace, es sustituir los espacios en blanco " " por "_" según se encuentran.
|
|
|
En línea
|
|
|
|
anonimo12121
|
Estaría bien ponerlo así? #include <iostream> #include <sstream> using namespace std; int main(int argc,char *argv[]){ char a[100]; gets(a);//Leer lo que escribes y lo almacena en la variable for(int i=0;a[i]!=0;i++){ if(a[i]==' ')a[i]='_'; } puts(a);//muestra el contenido de la variable en la pantalla cin.get(); return 0; }
|
|
|
En línea
|
|
|
|
D4RIO
Desconectado
Mensajes: 1.004
U N I X
|
También podrías decir que esto es válido: int i=0; if (0!=(i==0))
Lo que no significa que sea legible o simple, dejalo como estaba y recuerda que esta evaluando si ese caracter existe, o hay un cero en su lugar.
|
|
|
En línea
|
|
|
|
Saberuneko
|
Si, tal como estaba, hacía exactamente lo mismo. Ya que las condiciones fijadas en los bucles siempre siguen las reglas cierto falso, por tanto, siempre que no sea "0" o ningún carácter, va a ser cierto, y continuar con el bucle.
De todos modos, sigue siendo correcto ponerlo de esa otra forma.
|
|
|
En línea
|
|
|
|
anonimo12121
|
OK ya se me a quedado claro el código lo cambie para entenderlo bien.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Duda sobre parametro post
PHP
|
wizache
|
3
|
1,916
|
6 Agosto 2007, 10:14 am
por Sanjuu
|
|
|
Insertar pequeña función en este código
Programación C/C++
|
Soir
|
2
|
2,437
|
30 Agosto 2010, 15:23 pm
por MazarD
|
|
|
problemas metodo con parametro (solucionado) era sin parametro XD
Java
|
rub'n
|
6
|
6,920
|
25 Noviembre 2010, 16:45 pm
por Afsoon
|
|
|
duda del parametro -d en iptables
Seguridad
|
sancakoky
|
2
|
2,589
|
23 Marzo 2012, 12:12 pm
por adastra
|
|
|
Una pequeña consulta sobre este PC
Hardware
|
Wickown
|
1
|
1,718
|
21 Marzo 2014, 22:31 pm
por crazykenny
|
|