Puntatori e stringhe

di il
2 risposte

Puntatori e stringhe

Salve a tutti ho scritto questo programma che, ricevuta una stringa da input, cerca la presenza del carattere 'a' e se lo trova lo sostituisce con il carattere '$'... per esercitarmi l ho fatto con i puntatori , ma non va e non capisco come mai..grazie per consigli e correzioni...

#include <iostream>
#include <cstdlib>
using namespace std;

char dollar(char stringa[], char *point , int dim) // funzione che cerca la presenza del carattere a nella stringa
{
for(int i = *point;i<dim;i++)
{
if (stringa== 'a')
stringa='$';

}
for(int x =0; x<dim ; x++)
return stringa[x];
}
const int dim=10;
int main()
{

char stringa[dim];
cin>>stringa;

char *point= &stringa[0];
cout<<dollar( stringa);

return 0;
}

2 Risposte

  • Re: Puntatori e stringhe

    Per postare il codice, usa i tag Code.
    Comunque questo non serve a niente, point neanche lo usi:
    char *point= &stringa[0];
    Sei sicuro che alla funzione dollar() non basti ricevere la sola stringa? Invece di definire
    char dollar(char stringa[], char *point , int dim) // funzione che cerca la presenza del carattere a nella stringa
    
    prova a scrivere una funzione con questo prototipo
    void dollar(char *stringa)
    
    Questa ritorna void perchè non ha senso ritornare un char; riceve solo il puntatore alla stringa (o se vuoi, il puntatore al primo carattere) perchè le stringhe C sai che sono terminate da un '\0' quindi puoi fare un ciclo...
    La chiamata a
    cout<<dollar( stringa);
    la puoi sostituire con
    dollar(stringa);
    cout<<stringa;
    Prova a ragionarci sopra
  • Re: Puntatori e stringhe

    Grazie mille
Devi accedere o registrarti per scrivere nel forum
2 risposte