Originariamente inviato da torn24
Ti sei spiegato a parole molto male , e non si capisce cosa vuoi fare a parole .

dall'esempio si può intuire , cosa vuoi ottenere , io suggerirei di riscrivere il programma , visto che si tratta di poche righe .....

Dovresti procedere come segue

metti gli operandi del primo addendo in un array
il secondo operando lo metti in un altro array "questo per semplificare il codice " ma si potrebbe usare lo stesso array inizializzato sia per primo addendo che per secondo

usi due variabili int uno che indica il primo addendo e una che indica il secondo addendo , che incrementerai a dovere

stampi i risultati


Qualcosa del genere , come inserirai i valori nel vettore dipende da te .

codice:
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
int addendi[]={2,3,4,5,6};
int indice=0;
int primo_addendo=addendi[indice];
int secondo_addendo=addendi[indice+1];
int i,j;
for(j=0;j<5;j++)

{

    primo_addendo=addendi[indice];
    
    for(i=indice+1;i<5;i++)
    {
         secondo_addendo=addendi[i];
         printf("somma parziale di %d + %d = %d   \n",primo_addendo,secondo_addendo,primo_addendo+secondo_addendo);


    }
    puts("========================================================");
    indice++;
}

  system("PAUSE");	
  return 0;
}
Questo codice va bene, solo che non mi fa vedere i primi numeri, perché voglio visualizzare anche il numero da cui parte, tipo
2 - 2+3 - 2+4 - 2+5
3 - 3+4 e così via..