Ir para conteúdo
Fórum Script Brasil

Borowsky

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Tudo que Borowsky postou

  1. Borowsky

    Dúvidas C erro.

    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.
×
×
  • Criar Novo...