Pa uporabom petlji. Očito je Da demonstriram jedan primjer:

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


int main()
{
int a, b;

do 
    {
    printf("Upisi prvi broj: ");
    scanf("%d", &a);
    printf("Upisi drugi broj: ");
    scanf("%d", &b);
    
    if (a == 0 || b == 0) break;
    
    printf("\nRezultat je: %d\n", a + b);
    }
while (1);


system("pause");
return EXIT_SUCCESS;    
}
Dakle, sve ovo od upisivanja brojeva do ispisivanja rezultata potrpaš u jednu petlju, tako da se to nanovo izvrši. A ako je a ili b jednako nuli (to provjerava ovaj if nakon upisa brojeva), break naredba izbacuje iz petlje, i izvršava se ono što slijedi poslije, a to je kraj programa i izlaz. Ne znam zašto si stavio da ti se samo ispis vrti u petlji, možda nisi skužio zadatak. Uglavnom, nije komplicirano, ne?

Ovo se inače moglo izvršiti na nekoliko načina. Recimo, ja sam sad u uvjet do-while petlje stavio 1, a to sam možda i objasnio prije - logički uvjeti u C-u funkcioniraju tako da 1 ili bilo koji drugi broj osim nule znači "da", odnosno "true", dok je nula logičko "ne", ili false. Kada stavimo npr. a == 0 u uvjet, ako a jeste jednako nula, taj izraz će imati vrijednost jedan, tako da će automatski vrijednost u uvjetu postati jedan. Sad kad sam stavio baš broj jedan u petlju, to znači da ja želim da se ona vrti beskonačno, a da ju može prekinuti samo break naredba koja će se aktivirati ako je a ili b jednako nuli (ona if naredba).
To isto se moglo postići na više različitih načina, recimo, mogli smo napraviti jednu kontrolnu varijablu t koju bismo u početku stavili da je 1, a ako bi onaj if koji provjerava je li bar jedan od brojeva 0, onda bi ju on postavio na 0, a uvjet u petlji bi bio:

while(t!=0), što bi značilo da bi nam se petlja nastavila vrtjeti sve dok ne dođe do nule. Jedino što bi tako u ovom slučaju ispisalo i rezultat prije izlaska, a to možda ne želimo. Također, mogla je to biti obična while petlja, samo što bi i onda trebalo paziti na neke logičke probleme.