Io direi di studiare il segno degli operandi e del risultato ...

Prova questo semplice esempio

codice:
	int a = 2000000000;
	int b = 2000000000;
	int c;

	c = a + b;

	printf("%d + %d = %d\n", a, b, c);
e datti una spiegazione di quello che succede ...