MAC0122  Desenvolvimento de Algoritmos

O efeito de #define

O trecho de código

#define N 100
#define troca(A, B) { int t = A; A = B; B = t; } 

    int i, j;
    for (i = 0; i < N; i++) {
       int min = i;
       for (j = i+1; j <= N; j++) 
          if (a[j] < a[min]) min = j;
       troca(a[i], a[min]);
    } 

é transformado pelo pré-processador em

    int i, j;
    for (i = 0; i < 100; i++) {
       int min = i;
       for (j = i+1; j <= 100; j++) 
          if (a[j] < a[min]) min = j;
       { int t = a[i]; a[i] = a[j]; a[j] = t; } 
    }