Sviluppo record di attivazione ?

di 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

Devi accedere o registrarti per scrivere nel forum
3 risposte