Hallo,

bin gerade dabei, die Programmiersprache C zu lernen. Bin noch Anfänger, deswegen wäre ich für eure Tipps dankbar

Habe folgendes Problem: Ich weiß, wie man mit scanf() eingegebene Zahlen mit printf wieder ausgeben kann (int als "zahl" definieren und bei der Ausgabe %d). Das gleiche würde ich nun gerne mit Text machen, also z.B. einem Namen. Leider funktioniert es bei mir nicht, wenn ich es über einen string versuche (char* als "name" definieren und bei der Ausgabe mit %s).

Was mache ich falsch? Hier mein Code:

#include <stdio.h>
int main(void)
{
char* n1, n2;
int a, b;

printf("Bitte erstes Wort eingeben: ");
scanf("%s", &n1);

printf("Bitte erste Zahl eingeben: ");
scanf("%d", &a);

printf("Bitte zweite Zahl eingeben: ");
scanf("%d", &b);

printf("Bitte zweites Wort eingeben: ");
scanf("%s", &n2);

printf("\n\nDies waren Ihre beiden Zahlen:\n");
printf("%d und %d", a, b);

printf("\n\nDies waren Ihre beiden Woerter:\n");
printf("%s und %s", n1, n2);
return 0;
}
Die Eingaben klappen einwandfrei, die Ausgabe der Zahlen auch, dann stürzt meine *.exe ab und das Programm wird automatisch beendet. Kann mir jemand weiterhelfen?

Außerdem habe ich öfter mal das Problem, dass meine CMD wieder verschwindet, wenn ich mein EXE-Programm aufgerufen habe. Habe gelesen, dass man das mit system ("PAUSE"); verhindern kann. Leider kommt bei meinem Programm (CodeBlocks) dann immer folgende Meldung: "error: `system' was not declared in this scope." Was soll das heißen? Warum wird der Befehl nicht erkannt?

Hier nochmal der ganze Code, als Beispiel an der Hello-World-Datei:

#include <stdio.h>
int main ()
{
printf("Hello, World!\n");
system ("PAUSE");
return 0;
}
Vielen Dank für Eure Hilfe.[/quote]