Salve a tutti. Potete aiutarmi a capire perchè questa funzione blocca l'esecuzione del programma? Eppure il while non dovrebbe essere infinito..
Serve per contare il numero di doppie in una stringa (es: "abbardde" ha 2 doppie, "bb" e "dd", "abbba" ne ha una sola, la prima "bb")
codice:
int ContaDoppie(string* str)
{
    int i=1,count=0;
    char first,c;
    first = (*str).at(0);
    while(i<=(*str).length()) {
        c = (*str).at(i);
        if(c==first) {
            count++;
            c = (*str).at(i+1);
            i++;
        }
        first = c;
        i++;
    }
    return(count);
}