Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //copia n volte il parametro stringa s, creando cosi una stringa fatta di n ripetizioni usando la ricorsione
- char repeat(char *c, int n){
- char *puntatore=c;
- /*Ce da tenere presente una cosa, mettiamo caso che io debba copiare una stringa tre volte, le prime due
- * volte ricopio semplicemente la stringa e finita li, ma quando devo copiare la stringa per l'ultima
- * volta, devo tenere conto, che dopo aver copiato la mia stringa, io saro' arrivato alla fine
- * della stringa, e quindi mi devo ricordare di mettere il carattere di fine stringa*/
- //caso base, si tratta dell ultima volta che scrivo la stringa, alla fine dovro mettere il carattere
- //di terminazione
- if(n==0){
- for(puntatore=c;*puntatore!='\0';puntatore++){
- printf("%c", *puntatore);
- }
- //ho appena copiato la mia stringa per l'ultima volta, quindi provvedo a mettere
- //il carattere di terminazione poiche sono giunto alla fine ddella stringa.
- puntatore='\0';
- }
- //casi generali
- if(n!=0){//finche n non arriva a 0 vuol dire che non sono ancora arrivato a copiare
- //l'ultima volta la stringa, quindi quello che devo fare e' ricopiare semplicemente la stringa.
- for(puntatore=c;*puntatore!='\0';puntatore++){
- printf("%c", *puntatore);
- }
- repeat(c,n-1);//decremento il numero di volta che manca ancora da copiare la stringa
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment