faert89
29.09.2009, 08:48
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]
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]