ragazzi devo creare un programma che dato un numero N di coppie in input ti restituisca il massimo tra tutti i valori, io ho provato a farlo ma mi cicla all infinito

codice:
#include <stdlib.h>
#include <stdio.h>
int main ()
{
    int a, b, max, contatore, ncoppie, maxtot;
    contatore=0;
    
   
       printf ("Inserire il numero di coppie che si vuole confrontare: ");
    scanf ("%d", ncoppie);
   for (contatore=0; contatore<=ncoppie; contatore++)
   {
       printf ("Inserire il numero del primo valore della coppia");
       scanf ("%d", &a);
        printf ("Inserire il numero del secondo valore della coppia");
       scanf ("%d", &b);
       if (a>b)
       max=a;
       else 
       max=b;
       if (max > maxtot)
       maxtot=max;
       else
       max=0;
       }
       
        
          printf ("Il massimo tra le coppie e' %d ", maxtot);
          system ("pause");
          return 0;
          }