Valor inicial de variável

[Enunciado]  As perguntas supõem, implicitamente, que o valor inicial de j é 0 e não 1, como no enunciado do exercício:

int max (int n, int v[]) { 
   int x = v[0]; 
   for (int j = 0; j < n; ++j)  
      if (x < v[j]) x = v[j]; 
   return x;
}

 

Pergunta: Faz sentido trocar x = v[0] por x = INT_MIN?

Resposta: Funciona, mas é deselegante.  É deselegante porque INT_MIN não é algo inerente ao algoritmo (e menos ainda ao problema que o algoritmo resolve) mas depende do particular computador que está executando o algoritmo.