Esercizio aritmetica dei puntatori

di il
5 risposte

Esercizio aritmetica dei puntatori

Riscrivere il seguente programma utilizzando esclusivamente l’aritmetica dei
puntatori invece dell’indicizzazione (eliminare la variabile i e tutti gli usi dell’operatore [ ]).
int main(int argc, char *argv[])
{
int i;
for (i=1; i<argc; i++)
printf("%s%s", argv[i], (i<argc-1) ? " " : " ")
printf("\n");
return 0;
}
mi aiutate? :/

5 Risposte

  • Re: Esercizio aritmetica dei puntatori

    Fondamentalmente:
    
    int *p = new int[10];
    for(int i=0; i<10; ++i)
        p[i] = i;
    
    for(int i=0; i<10; ++)
       printf("p[%d] = %d\n", i, *(p+i));
    
    Dovrebbe essere sufficiente per capire come funziona l'aritmentica dei puntatori
  • Re: Esercizio aritmetica dei puntatori

    Il problema è che mi chiede di eliminare tutte le i e tutti gli usi di [ ] e nonso come fare
  • Re: Esercizio aritmetica dei puntatori

    Senza ricorrere a qualche esotico stratagemma diventa difficile risolvere il problema se non nella piu semplice condizione quale:
    int main(int argc, char *argv[])
    {
        for ( ; argc > 0; argc-- );
            printf("!%s! ", argv[argc]);
    
        printf("\n");
    
        return 0;
    }
    L'uso esplicito della printf lascia ben intuire il linguaggio di cui stiamo parlando.



    Se vogliamo passare direttamente ai tropici basta chiederlo.
  • Re: Esercizio aritmetica dei puntatori

    Grazie mille pardon se non ho scritto il linguaggio
  • Re: Esercizio aritmetica dei puntatori

    Exsotic
        for ( ; argc > 0; argc-- )
            printf("!%s! ", *argv++);
Devi accedere o registrarti per scrivere nel forum
5 risposte