Saludos
tengo problemas con el codigo de abajo, cuando lo hago correr al momento de preguntar si deseo repetirlo al seleccionar la letra correspondiente 's' el programa solo repite la orden de solicitarme una letra parar repetirlo
#include <stdio.h>
int i=0,n=0;
char cadena [256];
char seguir;
main()
{
do
{
printf ("Escriba la frase: ");
fgets (cadena,256,stdin);
while (cadena[i++]!='\0')
if (cadena[i]==' ') n++;
printf ("\n%d",n);
printf ("\n\nPara repetir el programa presiona s\n\n");
scanf ("%s",&seguir);
system ("cls");
}while (seguir=='s');
}
Mod: Los códigos deben ir en etiquetas GeSHi
#include <stdio.h>
int main()
{
int i = 0, n = 0;
char cadena [256] = {'\0'};
char seguir;
do
{
i = 0; //Cada iteracion i = 0 para iniciar desde 0
n = 0; //Cada iteracion n = 0 para reiniciar el contador
printf ("Escriba la frase: ");
fgets (cadena,256,stdin);
while (cadena[i] != '\0')
{
if (cadena[i] == ' ')
{
n++;
}
i++;
}
printf ("\n%d", n);
printf ("\n\nPara repetir el programa presiona s\n\n");
scanf ("%c", &seguir);
getchar(); //Nos comemos el intro
}while (seguir == 's');
return 0;
}
Deberías evitar las variables globales,
int main,
En el scanf, tienes un error, pones %s, eso es para strings, %c es para caracter
Un saludo
Ok, ok, MeCraniDos, creo que ya me quedo claro que estaba haciendo mal, Gracias.