Ciao ragazzi!Come da titolo vi sottopongo nuovamente un quesito .
Faccio prima ad esemplificare il tutto...in pratica la mia situazione è questa:
codice:
 
#include <iostream>
#include <stdio.h>
#include <string.h>
using namespace std;
char* fun1(char parola[]);

int main()
{
    char frase[10];
    char *p;
    printf("Inserisci la frase ");
   gets(frase);
    p = fun1(frase);
    
}
char* fun1(char parola[])
{
    int i;
    char* ritorno=new char (strlen(parola));
    for (i = 0;parola[i]!='\0';i++)
        if ((parola[i]>='a') && (parola[i]<='z'))
           ritorno[i]=parola[i]-(char) 32;
        else
           ritorno[i] = '*';

        return ritorno;
}
Eseguendo il codce con il debug,quando vado all'interno della fun1,noto che nella variabile char ritorno di tipo puntatore ci sono più caratteri rispetto al numero di caratteri formanti la parola in ingresso.
Dato che ho fatto new char (strlen(parola))...il puntatore ritorno non dovrebbe contenere solo al massimo strlen(parola) caratteri?
Grazie per le risposte . .