💩

programierds

cadenas / recorrido / palabras

Recorrer una cadena en C y contar palabras

La clave no es memorizar codigo: es detectar cuando el recorrido entra a una palabra. El ciclo lee cada char hasta \0, actualiza el estado y recien al final imprime el resultado.

1) ProgramaLinea activa: 1
1#include <stdio.h>
2int main() {
3  char frase[] = "Hola mundo en C";
4  int i = 0;
5  int palabras = 0;
6  int dentro = 0;
7  while (frase[i] != '\0') {
8    if (frase[i] != ' ' && dentro == 0) {
9      palabras = palabras + 1;
10      dentro = 1;
11    }
12    if (frase[i] == ' ') {
13      dentro = 0;
14    }
15    i = i + 1;
16  }
17  printf("Palabras: %d\n", palabras);
18  return 0;
19}
Paso 1: El programa incluye stdio.h para poder usar printf.
Paso 1 / 1
2) Variables
frase[i]-
i-
palabras-
dentro-
condicion while-
accion-
3) Cadena que se va leyendo"Hola mundo en C"
Todavia no empezo el recorrido.
4) Consola
./contar-palabrasstdout