Я предполагаю, что вы хотите, чтобы пользователь определил c и e один раз до запуска цикла. Затем переместите следующий код в любое место до начала цикла , в то время как цикл начинается. Лучше всего, если вы сообщите пользователю, что вводить, а не просто использовать scanf () .
printf(“please enter the char to find\n”);
getchar();
scanf("%c", &c);
printf(“please enter the char to replace\n”);
getchar();
scanf("%c", &e);
Основная проблема заключается в следующей строке:
// jump out of loop
if(*str == 'stop')
Во-первых, одиночные скобки используются для одиночных символов, а не для строк, где вы должны использовать скобки («).
Во-вторых, используйте strcmp ().
Третий, чтобы выпрыгнуть из цикла, используйте break; .
// jump out of loop
if(strcmp (&str[0], “stop\n”) == 0)
{
break;
}