Ciao ragazzi!Come da titolo vi sottopongo nuovamente un quesito.
Faccio prima ad esemplificare il tutto...in pratica la mia situazione è questa:
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.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; }
Dato che ho fatto new char (strlen(parola))...il puntatore ritorno non dovrebbe contenere solo al massimo strlen(parola) caratteri?
Grazie per le risposte . .![]()
![]()

.
Rispondi quotando