Boa tarde a todos. Queria acabar de resolver um programa mas me da um erro e não consigo corrigi-lo queria saber a vossa opinião em relação a isso. Vou passar o enunciado e depois o código que fiz para vocês saberem.
Enunciado:
Esta função substitui na string s a primeira ocorrência de old_s por new_s. As strings old_s e new_s
podem ter comprimentos diferentes. Assume-se que o espaço de memória apontado por s é suficiente para
armazenar o resultado final. A função retorna o ponteiro s caso tenha feito a substituição ou NULL se s não
contém old_s.
Código:
#include <stdio.h>
char * strsubst(char * s, const char * old_s, const char * new_s)
{
char *aux=NULL;
int tamanhostring=40; // tamanho da string s;
int tamanho1=20; // tamanho da string old_s;
int i,j;
for(i=0; i <= tamanhostring; i++)
if(s[i] == *old_s)
*aux = i;
if(*aux)
{
for(j=0; j<tamanho1;j++)
s[(aux-s) + j] = new_s[j];
return (s);
}
else
return NULL;
}
int main()
{
char string[40],antiga[20],nova[20];
printf("\n");
printf("Entre com a string :");
gets(string);
printf("\n");
printf("Entre com a antiga palavra :");
gets(antiga);
printf("\n");
printf("Entre com a nova palavra :");
gets(nova);
printf("\n");
//printf("nova string ==> %s\n",strsubst(string,antiga,nova));
return(0);
}
Erro:
Segmentation fault
Soluçao:
Bem já tentei varias soluçoes mas não encontro onde ta o erro no main ele nem chega a escrever o ultimo printf que ta a comentario portanto o erro deve tar no outro metodo já alterei la muitas coisas mas não dá. Queria saber a vossa opinião e o que eu devo mudar no meu programa para atingir os objectivos.
Pergunta
Borowsky
Boa tarde a todos. Queria acabar de resolver um programa mas me da um erro e não consigo corrigi-lo queria saber a vossa opinião em relação a isso. Vou passar o enunciado e depois o código que fiz para vocês saberem.
Enunciado:
Esta função substitui na string s a primeira ocorrência de old_s por new_s. As strings old_s e new_s
podem ter comprimentos diferentes. Assume-se que o espaço de memória apontado por s é suficiente para
armazenar o resultado final. A função retorna o ponteiro s caso tenha feito a substituição ou NULL se s não
contém old_s.
Código:
Erro:
Segmentation fault
Soluçao:
Bem já tentei varias soluçoes mas não encontro onde ta o erro no main ele nem chega a escrever o ultimo printf que ta a comentario portanto o erro deve tar no outro metodo já alterei la muitas coisas mas não dá. Queria saber a vossa opinião e o que eu devo mudar no meu programa para atingir os objectivos.
Editado por DurubAdicionar tags code [Durub]
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.