Errore di segmentazione

di il
1 risposte

Errore di segmentazione

Salve mi chiamo Rino e sono nuovo del forum. Per la seguente funzione di un programma che effettua il bilanciamento delle equazioni chimiche:
[int opt2(char  *str)

    {
    int i,num1,num2,n;
    int start,end;char *m;
    m=str;

    while(strchr(str,'(')!=NULL || strchr(str,'[')!=NULL)


        {
        if(strchr(str,'(')!=NULL)


            {
            start=strchr(str,'(')-m;
            end=strrchr(str,')')-m;

        }
        else if(strchr(str,'[')!=NULL)


            {
            start=strchr(str,'[')-m;
            end=strrchr(str,']')-m;
        }
        num1=str[end+1]-48;
        for(i=start;i<end;i++)


            {
            if(str[i]>=49 && str[i]<=57)


                {
                num2=str[i]-48;
                num2=num2*num1;
                str[i]=num2+48;
            }
        }
        str[start]='.';
        str[end]='.';
        str[end+1]='.';
    }
    for(i=0;i<strlen(str);i++)


        {
        if(str[i]=='.')


            {
            for(n=i;n<=strlen(str);n++)
            str[n]=str[n+1];
            i=0;
        }
    }
}
alla riga
 num1=str[end+1]-48;
il devc++ mi dà un errore di segmentazione. Non sono un esperto di programmazione in c++ ma in questi giorni mi sto sempre più impratichendo. C'è qualcuno che mi può dare un aiuto. Grazie saluti

1 Risposte

  • Re: Errore di segmentazione

    Attenzione ai tag code. Leggi bene come inserirli. sta vola te li metto posto io.
Devi accedere o registrarti per scrivere nel forum
1 risposte