Si lo hago de esa forma no me pide por pantalla el caracter para sustituir.
#include <stdio.h>
#include <string.h>
int main(){
int i;
char buffer[100], cadena[100], cambiar, sustituir;
printf("Escribe una frase: "); //obtiene la cadena fgets(buffer
,sizeof(buffer
),stdin
); sscanf(buffer
, "%s", &cadena
);
printf("\nCaracter para cambiar: "); //obtener caracter a buscar para remplazar fgets(buffer
,sizeof(buffer
),stdin
); sscanf(buffer
, "%c", &cambiar
);
printf("\nCaracter sustituto: "); //caracter sustituto fgets(buffer
,sizeof(buffer
),stdin
); sscanf(buffer
, "%c", &sustituir
);
for (i
=0;i
<=strlen(cadena
)-1;i
++){ //recorremos la cadena if (cadena[i]==cambiar)
cadena[i]=sustituir;
}
printf("\n%s\n",cadena
); //muestra en pantalla la nueva cadena
return 0;
}
Saludos!