Du reservierst nur einen Pointer für Deine n1 und n2, nicht den eigentlichen Speicher, den die Zeichenketten brauchen.

Probier mal statt char *n1,n2,
char n1[80];
char n2[80];

Ausserdem nicht
scanf("%s", &n1);
sondern
scanf("%s", n1);


Dann darfst Du aber maximal 79 Zeichen eingeben, sonst wird irgendwo undefiniert in den Speicher geschrieben.

Zum "Pause-Problem": Du darfst das Pause nicht im C-Code schreiben.
Du könntest aber eine Batch-Datei schreiben, die zuerst Dein kompiliertes C-Programm aufruft, und danach eine Zeile mit pause.

Oder Du startest Dein Prg nicht durch doppelklick, sondern in einer DOS-Box.