Título: Duda con codigo Publicado por: [Kayser] en 17 Diciembre 2012, 19:26 pm Buenas gente estoy estudiando C con el libro El lenguaje de programacion C de Kernighan y Ritchie y en una parte del libro en la que sale el codigo siguiente que se supone que toma una serie de caracteres introducidos por el teclado y devuelve el mas largo me han salido varias dudas:
(http://s18.postimage.org/ydhm2gos7/2012_12_12_195953.png) Código: #include <stdio.h> No veo claro cuando se reinicializa la variable i en el array. En que momento la i se reinicializa para que s sea s[0] y sobreescriba la anterior secuencia de caracteres que habia? Porque para que en cada momento se vaya escribiendo la secuencia de caracteres que se introduzca en el array i tiene que haber un momento en que se salga del bucle for y se reinicie la i a 0 no? Si no se continuaria incrementando la i partiendo de la ultima posicion rellenada con un caracter y el programa no funcionaria como es espera devolviendo la secuencia caracteres mas larga... Porque cuando sale del ciclo for cuando se cumpla una de las condiciones o cuando se cumplan todas? Título: Re: Duda con codigo Publicado por: naderST en 17 Diciembre 2012, 20:27 pm La i en el caso de la función getline() se inicializa en el for:
for(i=0;i<lim-1 &&(c=getchar())!=EOF && c!='\n';++i) En el caso de la función copy se inicializa antes del while int i; i=0; while((to=from)!='\0') ++i; |