このトピックに関して以前に質問がありましたが、このエラーを思いついたので、何も問題がないようです。文字列へのargsの割り当てにあるのではないかと思います。
編集:
void replace(char* string_a, char* string_b, char* string_f)
{
}
int main(int argc, char *argv[])
{
if(argc < 4)
{
printf("Not enough arguments\n");
return 0;
}
replace(argv[1],argv[2],argv[3]);
}
main関数がreplace関数の後になければならない、またはコンパイラが文句を言うのは奇妙です。理由を調べなければなりません。