#include <stdio.h>#include <stdlib.h>#include <string.h> int main(int argc, char **argv){ char frase[100]; int i, cont; printf("Ingrese la frase:n"); scanf("%s", frase); for(i= 0 ; i < 100 ; i++){ if(frase[i]== ' '){ cont++; } if(frase[i] == '.'){ frase[i]= ' \ 0 ' ; break; } } printf("nEsta frase tiene %d espacios", cont); return 0;}
scanf("%[^\n]", frase);
Ya lo pude solucionar, lo que sucede es que ese scanf() no me va capturar todos los elementos de la cadena tal cual, debe de colocarse de esta manera:Código: [Seleccionar]scanf("%[^\n]", frase);disculpen las molestias :p
... específicamente me interesa "%[^\n]"... qué función tiene?
Ah, ya veo.¿No hubiese sido más sencillo utilizar el gets?EDIT: Ya investigué por qué jajaja, gracias.
Cita de: Smith en Julio 29, 2013, 06:52:19 pmAh, ya veo.¿No hubiese sido más sencillo utilizar el gets?EDIT: Ya investigué por qué jajaja, gracias.El gets() aveces me falla y no me captura todos los elemento, en cambio ese es más seguro y captura todo hasta que encuentre el salto de linea.