Sviluppo record di attivazione ?

di
Anonimizzato15977
il
3 risposte

Sviluppo record di attivazione ?



#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>

int *F1(int A, int *B){
   int i;
   int *C = (int *)malloc((A)*sizeof(int));

   int k = F2(B, A);

   for (i = 0; i < A; i++)
      if (!(i % 2))
         printf("\n C[%d]=%d", i, C[i] = k + (*B)++);
      else
         printf("\n C[%d]=%d", i, C[i] = k - *(B++));

   return C;
}

int F2(int *A, int B){
   int i;
   for (i = 0; i < B; i++)
      if ((A[i]>B))
         A[i]++;

   return ++(A[--i]);
}

main() {
   int *VD = NULL;
   int VS[4] = { 6, 3, 4, 1 };
   VD = F1(*VS, VS + 2);
   printf("\n A: %d B: %d", *VS, VD[*VS % 2]);
}


La A nell'if di F2, come si comporta ?
Inizialmente ha il valore di A, ossia 4, che essendo > 2, poi viene incrementato e diventa A=5 .
Rientrando poi nuovamente nel for, perchè A diventa 1 e non appunto 5 ?

3 Risposte

  • Re: Sviluppo record di attivazione ?

    Perché parli di A come se avesse un solo valore? È un vettore ... ha valori diversi per ogni elemento...
  • Re: Sviluppo record di attivazione ?

    Si lo so che è un vettore. Però io voglio sapere perchè quando eseguo le istruzioni con il compilatore mi assegna questa valori ad A.
  • Re: Sviluppo record di attivazione ?

    Hai compreso quali sono i valori di A in F2 e perché parli di confronto con 2? In realtà B vale 6
Devi accedere o registrarti per scrivere nel forum
3 risposte