Es mejor mantenerse con la versión con centinela ya que a cambio de dos asignaciones fuera del bucle te ahorras la comparación dentro de este.
............................................................................................
Estaré "espeso" pero no veo que me salga del array, en todo caso veo que llego al caracter nulo pero no más allá.
Otra alternativa consiste en utilizar la función strcspn para encontrar el siguiente carácter igual a ' ' o '\0' y la función memset para imprimir los cuatro espacios (los prototipos de ambas en <string.h>).
Por cosa como esas es por lo que te echaba de menos últimamente "maestro".
Como
Blaster se me adelantó, mi propuesta es una "mezcla, uso memset para copiar los asteriscos y sigo usando mi propia "strcspn" y con el mismo y escueto número de líneas:
***************************************************
char frase[] = "123456 23789 1234 3213 986 5679";
for( i = 0 ; frase [ i ] ; i++ )
if ( ( iNoEspacio = ( frase [ i ] != ' ' ) ? iNoEspacio + 1 : 0 ) == 4 && ( frase [ i + 1 ] == ' ' || frase [ i + 1 ] == '\0') )
memset ( frase + i - 3 , '*' , 4 ) , cont++ ;
printf( "\n Cadena final.: %s\n\nY contiene %d palabras de cuatro letras.\n\n\n" , frase, cont) ;
**********************************************************
Hola a todos.
Me gusta esta triada, rir3760 la idea, Blaster la materializa y Leo el vigilador, observador, corregidor
..........................................................................................
Gracias a tí Daniel por querer compartir conocimientos y, como no, a
Blaster y
rir3760 por los "bellos" aportes que han realizado y el espíritu de sana competencia que nos lleva a enriquecernos a todos, al menos intelectualmente.
Y sí, creo que entre todos los usuarios de este foro formamos un buen equipo, y eso que he echado de menos a
eferion y
vangdop, etc.... y al ya lejano
amchacon. Esto último sí que me duele, espero que se anime y vuelva por este foro.
..........................................................................................
Después de esto tengo que implementar un programa con números mágicos, si no lo logro por mi cuenta les pediré ayuda.-
............................................................................................
Eso me alegra de manera especial ya que yo soy más de números que, como este tema, de letras. Esperaremos impacientes tus aportes y/o dudas al respecto.
Un fuerte abrazo, campeón.
¡¡¡¡ Saluditos! ..... !!!!